PDA

View Full Version : ارتباط با بانک اطلاعات Access



Naderenator
سه شنبه 12 تیر 1386, 11:55 صبح
چگونه می شود در 2005 #C می توان از بانک اطلاعات اطلاعات را گرفته یا نوشت؟
نحوه اضافه کردن بانک اطلاعاتی را می دانم :اشتباه:

مهدی رحیم زاده
سه شنبه 12 تیر 1386, 12:10 عصر
دوست گلم سلام
تبریک بابت عضویتت تو سایت
در مورد این که چطوری می تونی با بانک access ارتباط برقرار کنی و ... بهتره در مورد ADO.NET یه خورده مطلب بخونی ولی من تا شب برات یه نمونه برنامه می زارم ...
بعد هر جایی رو که خواستی از اون برات توضیح می دم ...
اگر هم که کارت ضروریه یه نمونه برنامه اینجا هست که می تونی از اون استفاده کنی ...
http://barnamenevis.org/forum/attachment.php?attachmentid=8879&d=1180893121

مهدی رحیم زاده
سه شنبه 12 تیر 1386, 20:57 عصر
اینم نمونه برنامه :

alireza643
چهارشنبه 13 تیر 1386, 09:39 صبح
iranmsb عزیز سلام:
بعد از خوندن نمونه شما من یه رنامه به این شکل نوشتم


string SelCommand = "select * from tblIIEESData";
string inCommand = "insert into tblIIEESData(DateTime,XPosition,YPosition,fltSum,i ntZ,Activate)" +
"values=(" + datDateTime + "," + fltX + "," + fltY + "," +
Sum + 0 +"," + true + ")";

OleDbDataAdapter Adapter = new OleDbDataAdapter(SelCommand, cnnMain);
DataTable dt = new DataTable();
object[] obj = new object[6];
Adapter.Fill(dt);
dt.Rows.Add(obj);
Adapter.InsertCommand = new OleDbCommand(inCommand, cnnMain);
Adapter.Fill(dt);
Adapter.Update(dt);


برنامه شما کامل کار میکرد ولی برنامه من وقتی به خط
Adapter.Update(dt); میرسه دیگه بقیه برنامه رو اجرا نمیکنه و مثلا اگر بعد از این خط نوشته باشیم int a = 12 و برک پوینت بگذاریم هرگز این خط اجرا نمیشه و به برنامه برمیگردیم. میشه منو رهنمایی کنید که چرا ین اتفاق می افته.

alireza643
چهارشنبه 13 تیر 1386, 09:40 صبح
iranmsb عزیز سلام:
بعد از خوندن نمونه شما من یه برنامه به این شکل نوشتم


string SelCommand = "select * from tblIIEESData";
string inCommand = "insert into tblIIEESData(DateTime,XPosition,YPosition,fltSum,i ntZ,Activate)" +
"values=(" + datDateTime + "," + fltX + "," + fltY + "," +
Sum + 0 +"," + true + ")";

OleDbDataAdapter Adapter = new OleDbDataAdapter(SelCommand, cnnMain);
DataTable dt = new DataTable();
object[] obj = new object[6];
Adapter.Fill(dt);
dt.Rows.Add(obj);
Adapter.InsertCommand = new OleDbCommand(inCommand, cnnMain);
Adapter.Fill(dt);
Adapter.Update(dt);


برنامه شما کامل کار میکرد ولی برنامه من وقتی به خط
Adapter.Update(dt); میرسه دیگه بقیه برنامه رو اجرا نمیکنه و مثلا اگر بعد از این خط نوشته باشیم int a = 12 و برک پوینت بگذاریم هرگز این خط اجرا نمیشه و به برنامه برمیگردیم. میشه منو رهنمایی کنید که چرا این اتفاق می افته.

مهدی رحیم زاده
چهارشنبه 13 تیر 1386, 11:58 صبح
دوست گلم کد اولو اینجوری تغییر بده ، احتمالا اشکال از اینه :

select DateTime,XPosition,YPosition,fltSum,intZ,Activate from tblIIEESData
شما باید تو دستور select ای که مینویسی تمام فیلد ها رو بنویسی و وقتی که از * استفاده میکنی این اشکال پیش میاد ...
البته فکر کنم !!!
یه چیز دیگه : شما تو دستور insert ، اسم 5 تا فیلد رو نوشتین ولی آرایه شیء Object که شما تعریف کردین 6 تاست ...
تست کن و بعد جواب رو بگو .

alireza643
یک شنبه 17 تیر 1386, 06:49 صبح
مرسی مشکل من حل شد.
دلیل اول همون بود که شما هم اشاره کردی و یه دلیل دیگه استفاده از DateTime بود که با هم بودن و این متغیر رو اکسس قبول نمی کرد.
دوتا متغیر بهش دادم یکی واسه Date و یک هم واسه Time