none
Insertar en C# y SQLServer RRS feed

  • Pregunta

  • Hola Amigos.

    Les cuento que quiero hacer un ingresar desde C# a una BD en SQLServer, mi pregunta es como puedo ingresar datos que tengo en un datatable? como recorro eso para luego ingresarlo a la base de datos?

    bueno amigos ojala me puedan ayudar ya que estoy empesnado con todo esto de C# y sus cosas.

    de ante mano muchas gracias.
    • Cambiado Gustavo Larriera miércoles, 9 de diciembre de 2009 15:00 +Adecuado. (De:SQL Server)
    miércoles, 9 de diciembre de 2009 14:51

Todas las respuestas

  • Puede hacerlo usando un DataAdapter, vea el ejemplo que hay en este foro en inglés:

    http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=54285

    Su pregunta es de programación ADO.NET, por lo que voy a mover este thread al foro de programación ADO.NET:

    http://social.msdn.microsoft.com/Forums/es-ES/netfxes/threads

    Gustavo Larriera Sosa | gustavolarriera.public (a) gmail.com | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/
    miércoles, 9 de diciembre de 2009 14:57
  •          Dale un vistazo a eso y me dices si tienes algun problema... Solamente le he puesto 3 campos de inserción pueden ser mas es totalmente configurable...
           OleDbCommand cmd;
                    int iReturn = 0;
                    cmd = new OleDbCommand();
                        cmd.Connection = miConexion;
                        cmd.CommandText="INSERT INTO MI_TABLA (CAMPO1,CAMPO2,CAMPO3) VALUES (@PAR1,@PAR2,@PAR3)";
                    foreach (DataRow row in dtbDatos.Rows)
                    {
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@PAR1", row.ItemArray[0].ToString());
                        cmd.Parameters.AddWithValue("@PAR2", row.ItemArray[1].ToString());
                        cmd.Parameters.AddWithValue("@PAR3", row.ItemArray[2].ToString());
                        iReturn =  cmd.ExecuteNonQuery();
                    }

    Mi Blog: Jtorrecilla
    miércoles, 9 de diciembre de 2009 14:59
    Moderador
  • Hola amigoooss.

    miren es esto lo que queria hacer. Era hacer un insert pero con un procedimiento de almacenado y este es el codigo

    foreach (DataRow Columna in Mi_Table.Rows)
                {
                    using (SqlCommand Comando = new SqlCommand("insertar_localidades"))
                    {
                        Comando.Parameters.AddWithValue("@Loc_Local_Suc", Columna[22]);
                        Comando.Parameters.AddWithValue("@Loc_Subtipo", Columna[19]);
                        Comando.Parameters.AddWithValue("@Loc_Direccion", Columna[23]);
                        Comando.Parameters.AddWithValue("@Loc_Comuna", Columna[25]);
                        Comando.Parameters.AddWithValue("@Loc_Tipo_Atm", Columna[17]);
                        Comando.Parameters.AddWithValue("@Loc_Suc_Etv", Columna[39]);

                        Procedimiento.Ejecuta_Proc(Comando);


                    }
                }

    lo unico malo es que me lanza un error No se puede encontrar la columna 22. ya nose que puede ser antes era eso de las "F" que aparecian en el datagridview sera eso ?? que me pide que el nombre de las columnas no calsan.
    jueves, 10 de diciembre de 2009 14:43
  • Tenias que haber indicado que querias usar un procedimiento almacenado...
    Cuantas columnas tiene tu Grid?
    Quizas tambien podrías poner el nombre de la columna entre " para indicar la columna que quieres poner en el parametro.

    Si la respuesta te ha sido util Marcala como Respuesta o Votala.
    Mi Blog: Jtorrecilla
    jueves, 10 de diciembre de 2009 16:01
    Moderador