PDA

View Full Version : سوال: مشکل کانکشن استرینگ در اکسس



karinkishi
یک شنبه 14 شهریور 1395, 11:35 صبح
سلام دوستان

یه برنامه دارم مینویسم با بانک اکسس


Accsess2013

نرم افزار Visual Studio 2015

ویندوز سیستم 10

هر کاری میکنم نمیتونم اطلاعات را در بانک درج کنم / قبلا در ویژال 2013 هیچ مشکلی نبود با ویندوز 8 راحت با یک کانکشن استرینگ این کارو انجام میدادم ولی در ویژال 2015 و ویندوز 10 به شدت به مشکل برخوردم

مشکل من با کانکشن استرینگ هستش بالای 15 کانکشن از اینترنت گرفتم همه یک پیغام مشترک رو میدادن
با اینکه بانک اکسس رو در آدرس bin\debug قرار میدم بازم همین پیغام خطا رو میده

برنامه رو در سیستم دوستم با ویندوز 8 و ویژال 2013 تست کردم مشکلی نداشت ممنون میشم کمکم کنید

با تشکر142395

javadghorbani27
یک شنبه 14 شهریور 1395, 12:00 عصر
سلام می توانید کانکشن استرینگ از این سایت بگیرید
https://www.connectionstrings.com/access/
:لبخندساده:

karinkishi
یک شنبه 14 شهریور 1395, 12:06 عصر
از این سایت گرفتم ولی بازم نشد
گفتم بالای 15 کانکشن گرفتم

javadghorbani27
یک شنبه 14 شهریور 1395, 12:35 عصر
میشه کد insert را بفرستی؟

karinkishi
یک شنبه 14 شهریور 1395, 12:52 عصر
System.Data.OleDb.OleDbCommand ocm = new System.Data.OleDb.OleDbCommand();

ocm.Connection = con;
ocm.CommandText = "INSERT INTO [dbo].[T_user] ([code],[parvandeh],[name],[family],[sen],[tell],[adress],[date_akhar],[tozih],[hasasiat_daro],[sabeqe_bimari],[sayer],[date_badi],[time])
VALUES ('" + txt_code_bimar.Text + "','" + txt_parvandeh.Text

+ "','" + txt_name.Text + "','" + txt_famil.Text + "','" + txt_sen.Text + "','" + txt_tell.Text + "','" + date_akharin.Text + "','" + txt_time.Text + "','" + date_badi.Text + "','" + txt_adres.Text + "','" + txt_hasiyat_daroii.Text + "','" + txt_sabeqe_bimari.Text + "','" + txt_sayer.Text + "','" + txt_tozihate_darman.Text + "')";

ocm.Parameters.Clear();
con.Open();
ocm.ExecuteNonQuery();
con.Close();
MessageBox.Show("ثبت انجام شد");

javadghorbani27
یک شنبه 14 شهریور 1395, 18:03 عصر
using system.data;
using system.data.odbc;
-------------------------------
// در رویداد کلیلیک می نویسیم
{
OdbcConnection con=new OdbcConnection("رشته اتصال");
odbcCommand cmd=new odbcCommand();
cmd.connection=con;
cmd.commandText="INSERT INTO T_user ([code],[parvandeh],[name],[family],[sen],[tell],[adress],[date_akhar],[tozih],[hasasiat_daro],[sabeqe_bimari],[sayer],[date_badi],[time])
VALUES ('" + txt_code_bimar.Text + "','" + txt_parvandeh.Text + "','" + txt_name.Text + "','" + txt_famil.Text + "','" + txt_sen.Text + "','" + txt_tell.Text + "','" +
txt_adres.Text + "','" + date_akharin.Text + "','" + txt_tozihate_darman.Text + "','" + txt_hasiyat_daroii.Text + "','" + txt_sabeqe_bimari.Text + "','" + txt_sayer.Text + "','" + date_badi.Text + "','" + txt_time.Text + "')";
con.Open();
ocm.ExecuteNonQuery();
con.Close();
// تابع گت لیست را فراخوانی کن یا فرم لود برنامه را

}


برای بدست آوردن رشته اتصال از طریق عکس برو جلو142401

javadghorbani27
یک شنبه 14 شهریور 1395, 18:04 عصر
بعضیا را جابجا نوشته بودی؟

karinkishi
یک شنبه 14 شهریور 1395, 19:53 عصر
سلام دوست عزیز
با تشکر از شما و وقتی که برای من گذاشتین تمام مراحل را انجام دادم ولی بازم همون پیغام خطای سابق را نمایش میده.
بانکشو عوض میکنم و در SQL انجام میدم بیخیالش شدم
چون تو سیستم دیگه مشکل نداره مشکل از چیه نمیدونم
تو سیستم دوستم خیلی راحت عملیات درج انجام شد
بهر حال از توجه شما متشکرم

mrprestige
یک شنبه 14 شهریور 1395, 21:00 عصر
عرض سلام و احترام دوست من ، دوست عزیز اولا که اصلا متن Conncetion String تون رو نشون ندادی تا ببینیم از چه Provider استفاده کردی و اینکه بنده داشتم عکسی که فرستاده بودید رو میدیدم چرا بانکتون رو با .mdb ذکر کردید دیگه وقتی Access2013 استفده میکنید دلیلی نداره با این پسوند ذخیره کنید ، در واقع پسوند بانک میشه accdb

OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\dbo.accdb");

میشه گفت Connection String تون میشه یه همچین چیزی( با فرض این که بانک در پوشه bin=>debug باشه ) . حالا کار بهتری انجام دادی اونم استفاده از SQL هست به مراتب خیلی بهتر از Access هست .