PDA

View Full Version : سوال: مشکل در اتصال به پایگاه داده ها در اکسس



mohsen.mkn2
سه شنبه 06 فروردین 1392, 17:15 عصر
سلام دوستان من هنگام کلیک بروی دکمه نمایش مشخصات با پیغام
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
کد برنام ام به صورت زیر است:

string strcon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\mkn64bit\\Documents\\Yad.accdb;P ersist Security Info=True;Jet OLEDB:Database Password=xxxxxxxxx";
OleDbConnection conn = new OleDbConnection(strcon);
conn.Open();
string qur = "select * from shohada where Name='"+textBox1.Text+"'";
OleDbDataAdapter da = new OleDbDataAdapter(qur, conn);
DataSet set = new DataSet();
da.Fill(set, "shohada");
label1.DataBindings.Add(new Binding("TEXT", set, "shohada.Behset_Num"));

رو به رو می شم کسی می دونه مشکل چیه؟:متفکر:
درضمن کسی میدونه چه جوری میتونیم بفهمیم که یک پرس و جو از بانک داری مقدار است یا نه مثل پرس جوی زیر
select * from customer where name='mohsen' AND age=29
پرس و جوی بالا در بانک هسته ، چه جور باید بفهمیم؟


ببخشید من خیلی کار با بانک در سی شارپ بلد نیستم:ناراحت:

veniz2008
سه شنبه 06 فروردین 1392, 17:36 عصر
سلام دوستان من هنگام کلیک بروی دکمه نمایش مشخصات با پیغام
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
کد برنام ام به صورت زیر است:

string strcon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\mkn64bit\\Documents\\Yad.accdb;P ersist Security Info=True;Jet OLEDB:Database Password=xxxxxxxxx";
OleDbConnection conn = new OleDbConnection(strcon);
conn.Open();
string qur = "select * from shohada where Name='"+textBox1.Text+"'";
OleDbDataAdapter da = new OleDbDataAdapter(qur, conn);
DataSet set = new DataSet();
da.Fill(set, "shohada");
label1.DataBindings.Add(new Binding("TEXT", set, "shohada.Behset_Num"));

رو به رو می شم کسی می دونه مشکل چیه؟:متفکر:
از کانکشن زیر استفاده کن ببین مشکلت حل میشه (آدرس دیتابیس خودتون رو ست کنید):

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\veniz\Documents\db1.mdb");


درضمن کسی میدونه چه جوری میتونیم بفهمیم که یک پرس و جو از بانک داری مقدار است یا نه مثل پرس جوی زیر
select * from customer where name='mohsen' AND age=29
پرس و جوی بالا در بانک هسته ، چه جور باید بفهمیم؟راه های زیادی وجود داره ولی بهترینش میتونه استفاده از دستور EXists باشه.(قبلا بحث شده بگردی پیدا میکنی).


ببخشید من خیلی کار با بانک در سی شارپ بلد نیستم:ناراحت:همه ما یه روزی مثل امروز شما بودیم ولی با زحمت کشیدن تونستیم یه چیزهایی رو یاد بگیریم.
راستی از روش مقداردهی مستقیم به کوئری sql استفاده نکنید چون براحتی برنامه و جداولتون قابل هک شدن هستند.(بهش میگن sql Injection ).
موفق باشید.

mohsen.mkn2
سه شنبه 06 فروردین 1392, 21:37 عصر
از کانکشن زیر استفاده کن ببین مشکلت حل میشه (آدرس دیتابیس خودتون رو ست کنید):

OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\veniz\Documents\db1.mdb");

راه های زیادی وجود داره ولی بهترینش میتونه استفاده از دستور EXists باشه.(قبلا بحث شده بگردی پیدا میکنی).

همه ما یه روزی مثل امروز شما بودیم ولی با زحمت کشیدن تونستیم یه چیزهایی رو یاد بگیریم.
راستی از روش مقداردهی مستقیم به کوئری sql استفاده نکنید چون براحتی برنامه و جداولتون قابل هک شدن هستند.(بهش میگن sql Injection ).
موفق باشید.
اقا این دکمه تشکر کجا هسته که من از این دوست محترم تشکر کنم

ordebehesht
سه شنبه 06 فروردین 1392, 21:44 عصر
office نصبی باید با پرووایدر مورد استفاده یکی باشه شما از office پایین و پرووایدر بالا استفاده میکردی این نکته جهت تکمیل جواب دوستمون نوشتم