PDA

View Full Version : سوال: مشکل این کد دیتابیس چیه



fdaliry
جمعه 16 بهمن 1388, 13:12 عصر
سلام
کد زیر را برای ورود اطلاعات به دیتا بیس نوشتم
این کد با برنامه ویژوال استدیو اجرا میشه ولی وقتی که پروژه را به حالت اجرایی تبدیل میکنم دیگه اجرا نمیشه و ارور دیتا بیس میده
در ضمن دیتا بیسم هم تو فولدر خود برنامه همون جایی که فرم ها هستن کپی کردم
تو همه ی فولدرهای برنامه هم کپیش کردم جواب نداده
ممنون میشم کمکم کنید




string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + Application.StartupPath + "\\db.mdb";
OleDbConnection myConnection = new OleDbConnection(connectionString);
myConnection.Open();

string name = textBox1.Text;
string query = "insert into tb (name) VALUES ('" + textBox1.Text + "')";
OleDbCommand myCommand = new OleDbCommand();
myCommand.CommandText = query;
myCommand.Connection = myConnection;
myCommand.ExecuteNonQuery();
myConnection.Close();

MessageBox.Show("Created.");

slashslash2009
جمعه 16 بهمن 1388, 14:18 عصر
"provider=microsoft.jet.oledb.4.0;data source=database.mdb;";

fdaliry
جمعه 16 بهمن 1388, 18:47 عصر
"provider=microsoft.jet.oledb.4.0;data source=database.mdb;";

ممنونم دوست عزیز
کانکشن استرینگا عوض کردم ولی بازم نشد
باز هم موقع اجرای برنامه در محیط ویژوال استدیو مشکلی نیست
ولی همینکه برنامه را پابلیش میکنم و نصب میکنم و اجرا میکنم میگه دیتا بیسا پیدا نمیکنم:عصبانی++:
البته ویندوزم 7 است نکنه به خاطر اونه

Yasersadegh
جمعه 16 بهمن 1388, 18:56 عصر
سلام به دوستان عزيز

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



string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + Application.StartupPath + "\\db.mdb";
OleDbConnection myConnection = newOleDbConnection(connectionString);
myConnection.Open();

string name = textBox1.Text;
string query = "insert into tb (name) VALUES ('" + textBox1.Text + "')";
OleDbCommand myCommand = newOleDbCommand();
myCommand.CommandText = query;
myCommand.Connection = myConnection;
myCommand.ExecuteNonQuery();
myConnection.Close();

MessageBox.Show("Created.");

دوست عزيز كد شما مشكلي نداره!!:تشویق: فقط يكبار ديگه برنامه رو كامپايل كنيد و ديتابيستون رو در پوشه اي كه فايل اجرايي وجود داره كپي كنيد (احتمالا پوشه debug) و سپس برنامه رو اجرا كنيد :لبخند:و نتيجه رو بگيد!!!:متفکر:

موفق باشيد:چشمک:

علیرضا حسن زاده
جمعه 16 بهمن 1388, 19:01 عصر
با سلام اگه مشکلتون حل نشده پیام خطایی رو که براتون میده رو بفرستین تا بهتر بشه جواب داد:لبخند:

fdaliry
شنبه 17 بهمن 1388, 00:10 صبح
خیلی ممنون از لطفتون
من دوباره برنامه را اجرا کردم و پابلیش کردم ولی باز هم مشکل قبلی
البته گرید ویو را که به صورت دستی به دیتابیس وصل میکنم بعد از پابلیش هم مشکلی نداره و اطلاعاتا نشون میده
ولی وقتی میخام اطلاعاتی را وارد کنم نمیشه:گریه:
اینم عکس ارورشه


http://file22.googlegroups.com/web/012.gif?gda=dRNpBjoAAABfoXBpm0swZGcRACNKlK41DYJLLy pZn4-Fea9UrL3lhQVDqO4YYBiobDLb1TSVZ_z97daDQaep90o7AOpSK HW0

fdaliry
یک شنبه 18 بهمن 1388, 11:43 صبح
خواهش میکنم سوال منا جواب بدبد
ممنونم

slashslash2009
یک شنبه 18 بهمن 1388, 12:01 عصر
شاید یکی از مشکلات کار با دیتابیس اکسس همین باشه

ghameshloe
یک شنبه 18 بهمن 1388, 13:47 عصر
من هم همین مشکل را داشتم وتنها راهی که دونستم پیدا کنم اینه که جای دیتابیست راعوض کنی یعنی در یکی از درایوات قراربدی وکانکشن استرینگ رانیز طبق اون تنظیم کنی

fdaliry
یک شنبه 18 بهمن 1388, 17:49 عصر
ممنونم از همه دوستان
آقا بالاخره فهمیدم
تو پوشه دیباگ خود برنامه تو هر اجرا ی نسخه ی اجرایی می سازه
شاید منظور دوستان هم از ابتدا همین بوده

اصلا نمیخاد که برنامه را پابلیش کنی
اشکال من این بود که برنامه را پابلیش میکردم و نصب میکردم که اجرا نمیشد

البته اگه میشد برنامه نصبی هم کار کنه عالی می شد
ولی همین هم کار را راه میندازه

SMRAH1
یک شنبه 18 بهمن 1388, 18:27 عصر
سلام
شاید ایراد از نسخه نصبی شما است و نصب کننده برنامه، فایل مورد نظر رو (فایل پایگاه داده یعنی فایل mdb) رو در جای مناسب (کنار فایل اجرایی برنامه) کپی نمی کنه.
در ضمن ویندوز 7 هم ممکنه بی تقصیر نباشه.چند وقت قبل می خواستم روی یک لپ تاپ یک پایگاه داده جدید در sql Sever اضافه کنم،هر کار کردم نگذاشت توی C اینکار رو بکنم.به عبارت دیگه بحث دسترسی ها خیلی مهمه.(در درایو مورد نظر ممکنه فایل فقط خوندنیه و اجازه نوشتن نداره)
یه چیز دیگه هم هست: چرا این Exception رو خودت handel نمی کنه که می گذاری برنامه این طوری پیغام بده.یک try ... catch ناقابل بگذار و بعد عبارت درست رو برای دلیل بخون (در Message شی Expection ببین تا دلیل کامل این خطا رو بدونی).
موفق باشید

#aliyari_C
یک شنبه 18 بهمن 1388, 23:18 عصر
"provider=microsoft.jet.oledb.3.5;data source=database.mdb";