PDA

View Full Version : سوال: گرفتن اطلاعات ديتابيس اكسس



vandermond
چهارشنبه 10 تیر 1388, 16:37 عصر
سلام
من تو گرفتن اطلاعات يك ديتابيس اكسس مشكل دارم. تو كدنويسي مشكل دارم و الا ميتونم تو DataGridView نشون بدم(بدون كد نويسي).
اگه ميشه كمك كنيد.
اينو هم بگم كه من يك كلاس با همون فيلدهاي ديتابيس درست كردم و ميخوام يك آرايه از اين كلاس داشته باشم.
ممنون...

vandermond
چهارشنبه 10 تیر 1388, 18:46 عصر
اينم كدهايي كه نوشتم. خواهشا كمك كنيد.
كدهايي كه نوشتم(اينا براي قسمت اصلي كلاس Window1 هستش):

const string _strConnectionString = "provider=SQLOLEDB;server=localhost;"+
"database=PayDocumentDataBase.accdb;Integrated Security=true";
const string _strCommandText = "SELECT CashNumber,CashDate,Bank,"+
"PriceCharacter,PriceNumber " +
"FROM Pay_CustomerTable";

OleDbConnection objConnection;
OleDbDataAdapter objDataAdapter;
DataSet objDataSet;
اين كد هم براي Window_Load هستش :

objConnection = new OleDbConnection(_strConnectionString);
objDataAdapter = new OleDbDataAdapter(_strCommandText, objConnection);
objDataSet = new DataSet();
objDataAdapter.Fill(objDataSet, "Pay_CustomerTable");
روي خط آخر (پر كردن DataSet) اين خطاي زمان اجرا رو ميده:

No error message available, result code: DB_E_ERRORSOCCURRED(0x80040E21).

Mahdi.Kiani
چهارشنبه 10 تیر 1388, 19:13 عصر
خطا از connectionstring می باشد

vandermond
چهارشنبه 10 تیر 1388, 20:05 عصر
ميشه بگيد كجاي Connection String مشكل دارد؟
من براي كار با SQL Server از همين روش استفاده ميكردم و Provider را نيز وارد نميكردم. ولي اينجا اول كه بدون Provider نوشتم خطا داد. و بعد از اون اين قسمت رو اضافه كردم. البته من مينوشتم OLEDB خطا ميگرفت و ميگفت بايد يه چيزي مثل SQLOLEDB وارد كنيد كه من هم با وارد كردن اين قسمت اون مشكل رو حل كردم و بعد از اون اين خطاي جديد رو گرفت.
اگه ميشه بيشتر توضيح بديد. من تو كار با ديتابيس تازه كارم(البته كلا هم زياد با سي شارپ كار نكردم)
ممنون...

احمد سامعی
چهارشنبه 10 تیر 1388, 21:20 عصر
اين مشكل شما چون مربوط به كانكشن هست پس مربوط به تالار ADO.Net هست اونجا بارها روي ايجاد كانكشن بحث شده

اما راه حل:
چون ظاهراً شما زياد وارد نيستي نبايد دستي كد نويسي اين بخش انجام بدي پس بايد يك كنترل DataAdapter به فرمت اضافه كني بعد خودش يك كنترل ديگه به نام اي ديو كانكشن ايجاد مي كنه توي پراپرتيزش كانكشن استرينگ هست مي توني استفاده كني

در ضمن يكم سرچ هم تو انجمن بزن

vandermond
چهارشنبه 10 تیر 1388, 22:19 عصر
ميشه اگه كانكشن استرينگ مشكل داره بگيد. چون من فكر نميكنم مشكلي داشته باشه. حالا من باز هم چك ميكنم. توي سايت هم سرچ كردم ولي مورد خوبي گير نياوردم كه تاپيك زدم.
ممنون...

smail_talashe
شنبه 03 مرداد 1388, 12:06 عصر
شما به چه ديتابيسي مي خواي وصل بشي sql يا access

smail_talashe
شنبه 03 مرداد 1388, 12:08 عصر
اگه ميخواي به access وصل بشي بايد از oledb استفاده كني نه از SQLOLEDB

RED-C0DE
شنبه 03 مرداد 1388, 13:06 عصر
از توی این سایت ConnectionString ِ مناسب رو پیدا کن :
http://www.connectionstrings.com/

مثلا برای Access 2007 :
http://www.connectionstrings.com/access-2007


Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;