PDA

View Full Version : سوال: جمع با 1 یک فیلد(عدد) در دیتا بیس



fdaliry
یک شنبه 25 بهمن 1388, 22:24 عصر
سلام کد زیر را نوشتم تا با هر بار اجرا شدن یک واحد به متغییر داخل دیتابیس اضافه کنه
ولی جواب نمیده
ممنون میشم بگید ایرادش کجاست





string d3;
OleDbConnection con3;
OleDbDataAdapter adap3;
DataSet ds3 = new DataSet();
con3 = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;data source=" + Application.StartupPath + "\\db.mdb");
d3 = "select * from countsh where(sal='" + textBox2.Text + "')";
adap3 = new OleDbDataAdapter(d3, con3);
adap3.Fill(ds3, "countsh");
long count = int.Parse(ds3.Tables[0].Rows[0]["count"].ToString());
count++;
con3.Close();


OleDbConnection con = new OleDbConnection();
string cmdstr;
OleDbCommand cmdoledb = new OleDbCommand();
con.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + Application.StartupPath + "\\db.mdb";
con.Open();
cmdstr = "Update countsh Set count='" + count + "'Where sal="+ textBox2.Text +"";
cmdoledb.Connection = con;
cmdoledb.CommandText = cmdstr;
cmdoledb.ExecuteNonQuery();
con.Close();

seven7777777
یک شنبه 25 بهمن 1388, 22:52 عصر
شما چند تا پک انجام بده :
1. اولا کوئری اول ردیفی برمیگردونه یا نه ؟
2. مقدار Count بعد از خوندن چندنه و بعد از افزایش چند ؟
3. دستور Update چند ردیف رو تحت تاثیر قرار میده ؟

ضمن اینکه نیازی نیست دوبار با db ارتباط برقرار کنی ، این افزودن یک واحدی رو با یه دستور Update و داخل خود دیتابیس می تونی انجام بدی .

fdaliry
دوشنبه 26 بهمن 1388, 00:52 صبح
شما چند تا پک انجام بده :
1. اولا کوئری اول ردیفی برمیگردونه یا نه ؟
2. مقدار Count بعد از خوندن چندنه و بعد از افزایش چند ؟
3. دستور Update چند ردیف رو تحت تاثیر قرار میده ؟

ضمن اینکه نیازی نیست دوبار با db ارتباط برقرار کنی ، این افزودن یک واحدی رو با یه دستور Update و داخل خود دیتابیس می تونی انجام بدی .

دوست عزیز قسمت اولش درست کار میکنه و حتی تونستم رو لیبل نمایشش بدم
اونجا که میخاد تو دیتابیس ذخیره کنه میگه اپدیت سینتکس داره

FastCode
دوشنبه 26 بهمن 1388, 09:25 صبح
"Update countsh Set count='" + count + "'Where sal="+ textBox2.Text +"";

"Update countsh Set count = N'" + count + "' Where sal = " int.Parse("0" + textBox2.Text).ToString() + "";
البته برای جلوگیری از SqlInjection بهتر این است که از SqlCommand استفاده کنید.

fdaliry
دوشنبه 26 بهمن 1388, 20:42 عصر
"Update countsh Set count = N'" + count + "' Where sal = " int.Parse("0" + textBox2.Text).ToString() + "";البته برای جلوگیری از SqlInjection بهتر این است که از SqlCommand استفاده کنید.

دوست عزیز از این کد استفاده کردنی زیر int خط میکشه و خطا میده که ; لازم است