Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Insira todos os dados de um datagridview no banco de dados de uma só vez


Se você mover seu loop for, não precisará fazer várias conexões. Apenas uma edição rápida no seu bloco de código (de forma alguma completamente correta):
string StrQuery;
try
{
    using (SqlConnection conn = new SqlConnection(ConnString))
    {
        using (SqlCommand comm = new SqlCommand())
        {
            comm.Connection = conn;
            conn.Open();
            for(int i=0; i< dataGridView1.Rows.Count;i++)
            {
                StrQuery= @"INSERT INTO tableName VALUES (" 
                    + dataGridView1.Rows[i].Cells["ColumnName"].Text+", " 
                    + dataGridView1.Rows[i].Cells["ColumnName"].Text+");";
                comm.CommandText = StrQuery;
                comm.ExecuteNonQuery();
            }
        }
    }
}

Quanto à execução de vários comandos SQL de uma só vez, consulte este link:Várias instruções em um único SqlCommand