PDA

View Full Version : افزودن تعدادی سطر به پایگاه داده



sedigh_zarei
سه شنبه 20 دی 1390, 10:36 صبح
با سلام و خسته نباشید
می خوام تو برنامه C#‎محتویات یک Data grid رو همه با هم تو SQl ثبت کنم طوری که یا همش ذخیره بشه یا هیچکدام لطفا راهنماییم کنید
خواهش میکنم کمکم کنید

massar
پنج شنبه 22 دی 1390, 23:00 عصر
سلام
شما باید از یک transaction استفاده کنید، اینم یه سمپل کد:
SqlConnection cn = new SqlConnection("your connection string");

cn.Open();//conenction ghabl az shorue transaction bayad baz bashad
using (SqlTransaction transaction = cn.BeginTransaction())//transaction o shoru mikonim
{
try
{
//command ro baraye amaliat mesle mavagheye adi ijad mikonim
SqlCommand cmd = cn.CreateCommand();
//commadn ro minevisim, b parametra tavajoh konid: @a, @b
//b jaye a ya b mishe harchizi nevesht vali avalesh bayad @ bezanim
cmd.CommandText = "Insert Info tbl values @a, @b";

//parametrayee k dar matne comamnd neveshtim dar zir tarif mikonim
SqlParameter p1 = new SqlParameter("@a", SqlDbType.Int);
SqlParameter p2 = new SqlParameter("@b", SqlDbType.Int);

//bedune in khat execute command erro mide
cmd.Parameters.AddRange(new[] { p1, p2 });

//hala 10 record ezafe mikonim b tori k
//age hata yeki az 10 record ezafe nashe kole 10 record ezafe nemishan
for (int i = 0; i < 10; i++)
{
//b parametra meghdar midim
//in kar baes mishe k dg lazem nabashe har dafe command text ro generate konim
//v sorato kehili bala mibare
p1.Value = i;
p2.Value = i + 10;

//recordo b db ezafe mikonim ama hanooz record dar db nasheste!
cmd.ExecuteNonQuery();
}

//tamame taghirati k tahala anjam shode ba seda zadane in mothod b db emal msihe
transaction.Commit();
}
catch (Exception)
{
//age khatayee pish umad koli taghirato nadide migirim
transaction.Rollback();
}
}