1 votos

hacer un recorrido de un dataTable y llevarle a un INSERT de sql server

hola buen dia!!

tengo el siguiente codigo que lo cargo de un archivo texto... y lo llevo a un DataTable y lo visualizo en un datagridview...

        public void importaRegistros(string archivoSelec)
    {

        using (System.IO.TextReader tr = File.OpenText(archivoSelec))
        {
            string line;
            while ((line = tr.ReadLine()) != null)
            {

                string[] items = line.Trim().Split(',');
                if (dt.Columns.Count == 0)
                {
                    for (int i = 0; i < items.Length; i++)
                        dt.Columns.Add(new DataColumn("Column" + i, typeof(string)));
                }
                dt.Rows.Add(items);

            }
            this.dgListado.DataSource = dt;

            string nrorows = Convert.ToString(dt.Rows.Count);

            label4.Text = nrorows;
        }

    }

deseo llevar cada fila y asignarle un campo a una instrucción INSERT...

mediante un foreach a la datatable dt asi....

  string textoCmd = "INSERT [dbo].[Personas] ([Codigo], [Tarjeta], [Numero_Documento], [Apellidos], [Nombres], [Id_Empresa], [Id_Sucursal], [Id_Centro_Costos], [Fecha_Hora], [Estado], [Id_Usuario], [Tipo], [FechaVence]) VALUES ("+dtRow[0].ToString() +","+dtRow[1].ToString() +","+dtRow[1].ToString()...);

               SqlCommand cmd = new SqlCommand(textoCmd, conn);
                 cmd.ExecuteNonQuery();

todos son tipo texto o varchar, asi que no hay compatibilidad de tipo de datos... esta bien formulado o existe otra forma de realizar esta operacion??

0voto

Emmanuel Vargas Puntos 20

Hola! Por si aún lo necesitas o para alguien más que necesite la misma información, esto puede ayudar:

foreach(DataRow fila in dataTable1.Rows) { textoCmd= "INSERT INTO tabla1 (campo1, campo2) VALUES ('"+ fila["Columna1"].ToString() +"','"+ fila["Columna2"].ToString() +"')"; SqlCommand cmd = new SqlCommand(textoCmd, conn); cmd.ExecuteNonQuery(); }

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X