none
Codigo Update C# na minha pagina.aspx com erro RRS feed

  • Pergunta

  • Eu tenho um codigo de Insert para adionar registros com parametros numa pagina.aspx e funciona perfeitamente.

    Eu preciso agora editar os registros e apenas um campo.

    Então adaptei meu codigo para Update e ficou como abaixo, mas esta com erro.

    Alguem pode me ajudar ?

    Obrigado.

    DataSet data = new DataSet();

    SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM DOCUMENTOCAD",connection);

    adapter.Fill(data, "DOCUMENTOCAD");

    string SQL = "UPDATE DOCUMENTOCAD SET (QUANTR = @QUANTR) WHERE CODIGO = '" + row.Cells[0].Text + "'";

    adapter.UpdateCommand = new SqlCommand(SQL, connection);

    //Aqui vou adicinar o valor e o parametro ao comando

    SqlParameter sqlQUANTR = adapter.UpdateCommand.Parameters.Add("@QUANTR", SqlDbType.Decimal);

                               

    sqlQUANTR.Value = "1";

                  

    adapter.UpdateCommand.ExecuteNonQuery();

    data.AcceptChanges();

    segunda-feira, 7 de outubro de 2013 17:53

Respostas

  • Que bom que conseguiu cara. Você teria sim de trabalhar no código, deixa-lo coerente com sua aplicação, mas a intenção foi realmente resolver seu problema.

    Marque a resposta para finalizar sua thread. 

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Marcado como Resposta ricardoti2012 terça-feira, 8 de outubro de 2013 19:12
    terça-feira, 8 de outubro de 2013 17:54

Todas as Respostas

  • Que erro ocorre Paulo_Ti?

    Julio Arruda
    __________________________________________
    Se foi util, marque como resposta
    .Net Coders
    Coordenador .Net Coders

    segunda-feira, 7 de outubro de 2013 19:04
  • Falta você valorizar seu parâmetro de entrada Paulo o @QUANTR. 

    Com isso seu Update não consegue fazer a atualização.

    Espero que ajude. 

    Se ajudou marque. 

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    segunda-feira, 7 de outubro de 2013 19:20
  • Como assim valorizar meu parametro de entrada @QUANTR ?

    SqlParameter sqlQUANTR = adapter.UpdateCommand.Parameters.Add("@QUANTR",SqlDbType.Decimal);

                              

    sqlQUANTR.Value ="1";

    Pelo que eu entendi o codigo acima ja faz todo esse processo.

    Como eu adaptei um codido que ja tinha de Insert para Update pode ser que tenha algo que eu esqueci de modificar.

    Fico no aguardo.

    Muito Obrigado.

    segunda-feira, 7 de outubro de 2013 19:52
  • string connectionString =
                "server=.;" +
                "initial catalog=employee;" +
                "user id=sa;" +
                "password=sa123";
            using (SqlConnection conn =
                new SqlConnection(connectionString))
            {
                conn.Open();
                using (SqlCommand cmd =
                    new SqlCommand("UPDATE EmployeeDetails SET Name=@NewName, Address=@NewAddress" +
                        " WHERE Id=@Id", conn))
                {
                    cmd.Parameters.AddWithValue("@Id", 1);
                    cmd.Parameters.AddWithValue("@Name", "Munna Hussain");
                    cmd.Parameters.AddWithValue("@Address", "Kerala");
    
                    int rows = cmd.ExecuteNonQuery();
    
                    //rows number of record got updated
                }
            }

    Tente utilizar dessa forma Paulo. Desculpe não consegui testar.

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    terça-feira, 8 de outubro de 2013 11:52
  • FERNANDO

    DEPOIS DE TRABALHA COM SEU CODIGO EU CONSEGUI FAZER O UPDATE DE ACORDO COMO O CODIGO ABAIXO:

    protected void ButtonReceber_Click(object sender, EventArgs e)

            {

                string _connectionString = WebConfigurationManager.ConnectionStrings["CONNECTIONSTRING"].ConnectionString;

                foreach (GridViewRow row in GridView1.Rows)

                {

                    CheckBox ck = row.Cells[3].FindControl("CheckBox1") as CheckBox;

                    if (ck.Checked)

                    {

                       

                        string _strSQL05 = "SELECT * FROM DOCUMENTOCAD WHERE CODIGO = '" + row.Cells[0].Text + "' AND LOTER = '" + "S" + "'";

                        SqlConnection con05 = new SqlConnection(_connectionString);

                        SqlCommand cmd05 = new SqlCommand(_strSQL05, con05);

                        cmd05.CommandType = CommandType.Text;

                        using (con05)

                        {

                            con05.Open();

                            SqlDataReader dr05 = cmd05.ExecuteReader();

                            if (!dr05.Read())

                            {

                                SqlConnection conn = new SqlConnection(_connectionString);

                                conn.Open();

                                using (SqlCommand cmd = new SqlCommand("UPDATE DOCUMENTOCAD SET LOTER = @LOTER, QUANTR = @QUANTR WHERE CODIGO = '" + row.Cells[0].Text + "'",conn))

                                {

                                    cmd.Parameters.AddWithValue("@LOTER", "S");

                                    //AQUI EU COLOQUEI A COLUNA DO MEU TEXTBOXQUANTR DE CADA LINHA DO MEU GRIDVIEW1

                                    cmd.Parameters.AddWithValue("@QUANTR", row.Cells[3].Text);

                                   

                                    int rows = cmd.ExecuteNonQuery();

                                }

                               

                            }

                            dr05.Close();

                            con05.Close();

                        }

                    }

                }

            }

    POREM REPARE QUE EU ESTOU PEGANDO DADOS DE UM GRIDVIEW E QUERO PEGAR OS DADOS DE CADA LINHA DO MEU TEXTBOXQUANTR. POREM NÃO ESTA PEGANDO OS DADOS

    SEGUE ABAIXO MEU GRIDVIEW1

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

            CellPadding="4" DataKeyNames="CODIGO" DataSourceID="SqlDataSource2"

            ForeColor="#003399" GridLines="None" Width="350px">

            <AlternatingRowStyle BackColor="White" />

            <Columns>

               

                <asp:BoundField DataField="CODIGO" HeaderText="" SortExpression="CODIGO"

                 HeaderStyle-Width="0px" ItemStyle-HorizontalAlign="Center" ItemStyle-Font-Size="0px"  />

               

                <asp:BoundField DataField="DOCUMENTO" HeaderText="Documento"

                    SortExpression="DOCUMENTO" HeaderStyle-Width="250px" ItemStyle-HorizontalAlign="Left"/>

                 <asp:BoundField DataField="REVISAO" HeaderText="Revisão"

                    SortExpression="REVISAO" HeaderStyle-Width="50px" ItemStyle-HorizontalAlign="Left"/>

                

                    <asp:TemplateField HeaderText="Quant.R" ItemStyle-HorizontalAlign="Center">

                        <ItemTemplate>

                            <asp:TextBox ID="TextBoxQUANTR" runat="server" Width="20px"

                            Text='<%# String.Format("{0}",  Eval("QUANTR")) %>'></asp:TextBox>

                        </ItemTemplate>

                    </asp:TemplateField>

                       

                      

                    <asp:TemplateField>

                        <ItemTemplate>

                            <asp:CheckBox ID="CheckBox1" runat="server" />

                        </ItemTemplate>

                    </asp:TemplateField>

            </Columns>

            <EditRowStyle BackColor="#2461BF" />

            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

            <HeaderStyle BackColor="#336699" Font-Bold="True" ForeColor="White" />

            <PagerStyle BackColor="#003399" ForeColor="White" HorizontalAlign="Center" />

            <RowStyle BackColor="#EFF3FB" Font-Size="8pt"/>

            <SelectedRowStyle BackColor="#D1DDF1"  ForeColor="#003399" />

            <SortedAscendingCellStyle BackColor="#F5F7FB" />

            <SortedAscendingHeaderStyle BackColor="#6D95E1" />

            <SortedDescendingCellStyle BackColor="#E9EBEF" />

            <SortedDescendingHeaderStyle BackColor="#4870BE" />

        </asp:GridView>

    terça-feira, 8 de outubro de 2013 17:48
  • Que bom que conseguiu cara. Você teria sim de trabalhar no código, deixa-lo coerente com sua aplicação, mas a intenção foi realmente resolver seu problema.

    Marque a resposta para finalizar sua thread. 

    Abraço.


    Voce pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direcao by Steve Jobs

    • Marcado como Resposta ricardoti2012 terça-feira, 8 de outubro de 2013 19:12
    terça-feira, 8 de outubro de 2013 17:54