یک راه استفاده از حلقه برای ورود سطر به سطر DataGridView در دیتا بیس هست.
private void Save_DGV_ToDB()
{
try
{
con = new SqlConnection();
con.ConnectionString = "کانکشن استرینگ"
con.Open();
string connString = "INSERT INTO table1(field1,field2,field3) values(@field1,@field2,@field3)";
for (int row = 0; row < DataGridView1.Rows.Count; row++)
{
SqlCommand cmd1 = new SqlCommand(connString, con);
cmd1.Parameters.AddWithValue("@field1", DataGridView1.Rows[row].Cells[0].FormattedValue.ToString());
cmd1.Parameters.AddWithValue("@field2", DataGridView1.Rows[row].Cells[1].FormattedValue.ToString());
cmd1.Parameters.AddWithValue("@field3", DataGridView1.Rows[row].Cells[2].FormattedValue.ToString());
cmd1.ExecuteNonQuery();
}
}
catch (Exception ex)
{
MessageBox.Show("error in inserting" + ex.Message);
}
}
راه حل دیگه استفاده از CommandBuilder هست
private void SaveData(DataGridView dgv)
{
string connString="کانکشن استرینگ";
using(SQLConnection conn = new SQLConnection(connString))
{
conn.Open();
SQLDataAdapter da = new SQLDataAdapter("SELECT * FROM table1", connString);
SQLCommandBuilder commandBuilder = new SQLCommandBuilder(da);
DataTable dt = dgv.DataSource as DataTable;
da.Update(dt);
dt.AcceptChanges();
}
}
خودم فرصت تست کردن کدها رو نداشتم بنابراین اگه مشکلی پیش اومد پیغام بدین.
موفق باشید