Foros del Web » Programación para mayores de 30 ;) » .NET »

Insert desde C# SQL winform Funciona, mejora

Estas en el tema de Insert desde C# SQL winform Funciona, mejora en el foro de .NET en Foros del Web. ok tengo el siguiente código, funciona muy bien. Código: private void button3_Click(object sender, EventArgs e) { string constr; constr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\DataBases\\INSP_SIPA.mdf;Integrated Security=True;User Instance=True"; SqlConnection ...
  #1 (permalink)  
Antiguo 13/05/2010, 13:32
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Información Insert desde C# SQL winform Funciona, mejora

ok tengo el siguiente código, funciona muy bien.
Código:
private void button3_Click(object sender, EventArgs e)
        {
            string constr;
            constr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\DataBases\\INSP_SIPA.mdf;Integrated Security=True;User Instance=True";
            SqlConnection con = new SqlConnection(constr);
            string q = "insert into ANOMALIASVS (CLAVE_A,DESCRIPCION,CONDA)" + "values (@CLAVE_A,@DESCRIPCION,@CONDA);"; 

            SqlCommand ORDEN = new SqlCommand(q, con);
            


            ORDEN.Parameters.Add("@CLAVE_A+", SqlDbType.VarChar, 6).Value = listBox2.Items[1].ToString();
            
            ORDEN.Parameters.Add("@DESCRIPCION", SqlDbType.VarChar, 100).Value=listBox1.Items[1].ToString();
       
            ORDEN.Parameters.Add("@CONDA", SqlDbType.Int).Value=listBox3.Items[1].ToString();


            ORDEN.Connection.Open();
            ORDEN.ExecuteNonQuery();
            ORDEN.Connection.Close();


        }
la cuestión es que no solo quiero insertar un elemento de los listbox, quiero insertar todos los elementos, lo quice poner en un bucle for, algo como esto

Código:
for (int i = 0; i < probs4; i++)
            {
                ORDEN.Parameters.Add("@CLAVE_A+", SqlDbType.VarChar, 6).Value = listBox2.Items[1].ToString();

                ORDEN.Parameters.Add("@DESCRIPCION", SqlDbType.VarChar, 100).Value = listBox1.Items[1].ToString();

                ORDEN.Parameters.Add("@CONDA", SqlDbType.Int).Value = listBox3.Items[1].ToString();      
            }

Y el error que me manda es evidente, claro despues q lo corrí, resulta que los parámetr os ya fueron creados y solamente pueden tener un valor, entonces, cómo puedo solucionar esto, y hacer inserts de manera automática, claro me quiero saltar los datatables dataadapters y demás, aunque, pues también se valen...

Saludos.
  #2 (permalink)  
Antiguo 13/05/2010, 14:09
 
Fecha de Ingreso: marzo-2010
Mensajes: 18
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Insert desde C# SQL winform Funciona, mejora

Miren que lo he solucionado de la siguiente manera, olvidandome de los parámetros:
Código:
private void button1_Click(object sender, EventArgs e)
        {             
            int probs4;
            probs4 = varClass.problems;
            string constr;
            constr = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\DataBases\\INSP_SIPA.mdf;Integrated Security=True;User Instance=True";
            SqlConnection con = new SqlConnection(constr);

            for (int i = 0; i < probs4; i++)
            {
                string q = "insert into ANOMALIASVS (CLAVE_A,DESCRIPCION,CONDA)" + "values ('" + listBox1.Items[i].ToString() + "','" + listBox2.Items[i].ToString() + "','" + listBox3.Items[i].ToString() + "');";
                SqlCommand ORDEN = new SqlCommand(q, con);
                ORDEN.Connection.Open();
                ORDEN.ExecuteNonQuery();
                ORDEN.Connection.Close();
            }
            
        }
Me parece una forma sencilla de haer inserts, lo mismo se pudiera hacer con arrays.

Etiquetas: insert, sql, winform, mejoras
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:18.