سلام به همگی
خب بعد از جستجوهای فراوان و بعد از آزمون و خطا به این کد رسیدم :
using (SQLiteConnection conn = new SQLiteConnection("Data Source=Db_Bank.sqlite;Version=3"))
{
conn.Open();
using (SQLiteCommand cmd = new SQLiteCommand(conn))
{
using (SQLiteTransaction tran = conn.BeginTransaction())
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
cmd.CommandText= "INSERT INTO MyTable VALUES(@Name, @Family, @Kod, @Mon)";
cmd.Parameters.AddWithValue("@Kod", row.Cells[0].Value);
cmd.Parameters.AddWithValue("@Per", row.Cells[1].Value);
cmd.Parameters.AddWithValue("@Sho", row.Cells[2].Value);
cmd.Parameters.AddWithValue("@Mon", row.Cells[3].Value);
cmd.ExecuteNonQuery();
}
tran.Commit();
}
}
conn.Close();
MessageBox.Show("records inserted");
}
این رو گذاشتم شاید به درد دیگران دوستان بخوره
نکته جالب اینکه با کد قبلی که tansaction استفاده نکرده بودم یک فایل اکسل رو با حدودا 30 ثانیه ریختم توی بانک با این کد هر فایلی رو با هر تعداد رکورد با زیر 1 ثانیه میریزم توی بانک جالب هست فقط زیر 1 ثانیه !!!!
ممنون از استاد عزیز و اهنمایی هاشون کاربر محترم Mahmoud.Afrad