View Full Version : سوال: transaction در سمت c#
zahra.mf
شنبه 25 شهریور 1391, 16:15 عصر
سلام
من میخوام سمت c# یه transaction بنویسم برای کد زیر
sql1 = @"insert into shamelhavaleh (havaleh_ID,kala_ID,kalavorudi,namek)
values ({0},{1},{2},N'{3}')";
sql1 = string.Format(sql1, srtcmd, id,
(textBox2.Text.Replace("'", "''")),
(textBox1.Text.Replace("'", "''"))
);
int tarakonesh = 1;
sql2 =@" insert into kalamojud (Tedad,Tarakonesh,kala_ID) values ({0},{1},{2})";
sql2 = string.Format(sql2,
(textBox2.Text.Replace("'", "''")),
tarakonesh, id
);
dal.docommand(sql1);
dal.docommand(sql2);
ولی نمیدونم چجوری باید این کار و بکنم اگه کسی میتونه کمک کنه ممنون
Arash_janusV3
شنبه 25 شهریور 1391, 22:09 عصر
درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1530124&viewfull=1#post1530124)
انجام دادن چندین عملیات INSERT در SQL به طور همزمان با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1531646&viewfull=1#post1531646)
zahra.mf
شنبه 25 شهریور 1391, 23:21 عصر
درج رکورد با دستور INSERT در SQL با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1530124&viewfull=1#post1530124)
انجام دادن چندین عملیات INSERT در SQL به طور همزمان با استفاده از دستور BeginTransaction (http://barnamenevis.org/showthread.php?346847-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D9%85%D8%AB%D8%A7%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C&p=1531646&viewfull=1#post1531646)
شما دارید تو اینسرت یه مقدار مشخص رو میدی و این مقدار ثابته ولی من برای هر اینسرت از ورودی مقدار میگیرم از textbox!
Arash_janusV3
شنبه 25 شهریور 1391, 23:29 عصر
شما به جای مقادیر ثابت textbox.text را جایگزین کنید
البته فیلدها و نام جدول رو تغییر بدید
zahra.mf
یک شنبه 26 شهریور 1391, 01:40 صبح
شما به جای مقادیر ثابت textbox.text را جایگزین کنید
البته فیلدها و نام جدول رو تغییر بدید
به textbox.tex گیر میده میگه syntaxterrore!!!
تو ExecuteNonQuery(); اینجا خطا میده
Babak-Magic
یک شنبه 26 شهریور 1391, 10:18 صبح
درود کدتون رو بزارید تا بهتر بشه راهنمایی کرد
zahra.mf
یک شنبه 26 شهریور 1391, 11:12 صبح
string cs = "Data source=.\\SQLEXPRESS;Attachdbfilename=D:\\Crack\\a nbar2\\anbar2\\bin\\Debug\\db\\anbar2.mdf;Integrat ed security=true;user Instance=true";
SqlConnection conn = new SqlConnection(cs);
conn.Open();
SqlCommand command1 = new SqlCommand("insert"+" into shamelhavaleh (havaleh_ID,kala_ID,kalavorudi,namek)"+"values(srtcmd,id,textBox2,textBox1",conn);
int tarakonesh = 1;
SqlCommand command2 = new SqlCommand("insert" + " into kalamojud (Tedad,Tarakonesh,kala_ID)" + "values(textBox2.Text.Replace(),tarakonesh, id)", conn);
SqlTransaction Transaction = conn.BeginTransaction();
command1.Transaction = Transaction;
command2.Transaction = Transaction;
command1.ExecuteNonQuery();
command2.ExecuteNonQuery();
Transaction.Save("This Point");
Transaction.Rollback("This Point");
Transaction.Commit();
command1.Dispose();
command2.Dispose();
conn.Close();
این کد بعد گذاشتن ترنس قبل ترنس هم که بالا گذاشتم وقتی insert میکنم مشکل تو مقدار (values) دادنه مدلی که اونجا نوشتم حس میکنم اشتباهه نمیدونم!!!
Arash_janusV3
یک شنبه 26 شهریور 1391, 12:49 عصر
نام فیلدها و Typeها را هم بگذارید
مشکل می تواند از مغایرت نوع فیلدها با متغیر باشد
zahra.mf
یک شنبه 26 شهریور 1391, 13:26 عصر
نام فیلدها و Typeها را هم بگذارید
مشکل می تواند از مغایرت نوع فیلدها با متغیر باشد
من قبل اینکه tranc بذارم اینجوری تعریف میکردم
sql1 = @"insert into shamelhavaleh (havaleh_ID,kala_ID,kalavorudi,namek)
values ({0},{1},{2},N'{3}')";
sql1 = string.Format(sql1, srtcmd, id,
(textBox2.Text.Replace("'", "''")),
(textBox1.Text.Replace("'", "''"))
);
یعنی با string.format تبدیل میکردم ولی الان نمیدونم چجوری این و بذارم تو tranc
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.