+3 امتیاز

سلام جهت ایجاد ارتباط با بانک اطلاعاتی اکسس و وارد نمودن مقادیر که  متغییر best1در طول اجرای برنامه میگیرد من کد زیر را نوشتم . ایجاد oledb connection , command ,adaptur از طریق toolbox انجام دادم .

ولی بر زمان اجرای برنامه حلقه تکرارم دو بار انجام شده و خاتمه پیدا میکنه و وقتی فایل اکسسم رو نگاه میکنم هیچ اطلاعاتی ثبت نشده .

خواهش می کنم سریع راهنماییم کنین بایستی تا یک شنبه تحویل بدم .

;()oleDbConnection1.Open

oleDbDataAdapter1.SelectCommand.CommandText = "insert into [table1]([id],[best]) values ("+g+" , "+best1+")"; 
بسته شده
سلام

نبایدم چیزی درج بشه ... چرا dataAdapter گذاشتین !؟

مگه قرار نیست چیزی درج بشه ، از OleDbCommand استفاده کنید و بعد متغیرهاتون رو بریزید توی پارامتر ورودی Command ؛

تا اینجا باز هیچ اتفاقی نمیوفته !؟

تا به خط دستور ذخیره برسه : ExecuteNonquery

حالا (اگه برنامه خطا نده تو بانک یه چیزایی درج میشه) ... و بعد هم حتما باید کانکشن رو ببندی (Close)
توسط (1,141 امتیاز) 1 17 72

1 پاسخ

+4 امتیاز
 
بهترین پاسخ

این نمونه ADO با پارامتر هستش ، که نسبت به اون روش محاسن بیشتری داره (از قول چند نفر دیگه میگم)

Com.Connection = Con;
            Com.CommandText = "Insert Into Tbl_Commodity (Commodity, Price, Company, Toz, Type_Id, Pack_Id, Category_Id) Values (@c, @p, @co, @t, @ty, @pa, @ct)";
            Com.Parameters.AddWithValue("@c", textBox1.Text);
            Com.Parameters.AddWithValue("@p", textBox2.Text);
            Com.Parameters.AddWithValue("@co", textBox3.Text);
            Com.Parameters.AddWithValue("@t", textBox4.Text);
            Com.Parameters.AddWithValue("@ty", textBox5.Text);
            Com.Parameters.AddWithValue("@pa", textBox6.Text);
            Com.Parameters.AddWithValue("@ct", textBox7.Text);
            Con.Open();
            Com.ExecuteNonQuery();
            Con.Close();
            MessageBox.Show("Done !");

فقط اینجا من از sql استفاده کردم ... کافیه تبدیلشون کنید به OleDb

یا علی ! 

سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,924 کاربر

دسته بندی ها

...