PDA

View Full Version : سوال: خطای syntax error در اجرای کوئری



esmael_g
شنبه 12 دی 1394, 10:01 صبح
سلام خدمت تمام دوستان عزیز من یک مشکل برام پیش اومده هر کاری می کنم پا برجاست زمانی که می خوام به اکسس متصل بشم به یه ارور بر می خورم ارور رو کامپایلر نمی گیره تا زمان اجرا خودتون ببینید
138113
138114

نمی دونم کجا اشتباه کردم
اکسس 2007و 2003 هر دو رو امتحان کردم افزونه اتصال اکسس 2007به بالا مال https://www.microsoft.com/en-us/download/details.aspx?id=23734
رو هم نصب کردم برای این برنامه دوتا دیتا بیس جدا استفاده کردم یکی برای لوگین یکی هم برای محصولات(انبار داری)
باز ارور داد اومدم کردم به یک دیتا بیست باز ارور داد آوردم فقط این قسمت(عکس بالا) رو نوشتم اما بازم ارور داد ترو خدا کمک کنید موندم چیکار کنم اینم از اصل برنامه پیوست شد

http://s6.picofile.com/file/8231176192/WindowsFormsApplication1.rar.html (http://s6.picofile.com/file/8231176192/WindowsFormsApplication1.rar.html)
دوستان لطف کنید کمک کنید خواهش می کنم لطفا

محمد آشتیانی
شنبه 12 دی 1394, 10:07 صبح
سلام
توی کوئری بجای FROM نوشتید FORM ، اصلاحش کنید

ضمنا اجزای کوئری رو با فاصله بنویسید
SELECT * FROM main

esmael_g
شنبه 12 دی 1394, 14:44 عصر
سلام دوست من بخدا بازم همون مشکل رو داره شما خودتون روبرنامه من تست کنید ببنید همین جوریه؟

khokhan
شنبه 12 دی 1394, 16:44 عصر
سلام دوست من بخدا بازم همون مشکل رو داره شما خودتون روبرنامه من تست کنید ببنید همین جوریه؟

رشته اتصال رو به این شکل بنویس :


public void GetList()
{
string connecta = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\Database1.accdb;Persist Security Info=False;";
OleDbConnection connect = new OleDbConnection(connecta);
OleDbDataAdapter dta = new OleDbDataAdapter("select * from Table1", connect);
DataTable DTable = new DataTable();
dta.Fill(DTable);
dataGridView1.DataSource = DTable;

}

esmael_g
شنبه 12 دی 1394, 17:20 عصر
ببخشید این مقدار می پرسم
اما این شکلی درسته راستش تازه واردم تو کار دیتا بیست برای همین زیاد متوجه نمی شم
public void GetList()
{
string connecta = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\database.mdb" + Application.StartupPath + "\\database.mdb;Persist Security Info=False;";
OleDbConnection connect = new OleDbConnection(connecta);
OleDbDataAdapter dta = new OleDbDataAdapter("select * from TblLIST", connect);
DataTable DTable = new DataTable();
dta.Fill(DTable);
dataGridView1.DataSource = DTable;

}

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

khokhan
شنبه 12 دی 1394, 18:09 عصر
ببخشید این مقدار می پرسم
اما این شکلی درسته راستش تازه واردم تو کار دیتا بیست برای همین زیاد متوجه نمی شم
public void GetList()
{
string connecta = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\bin\Debug\database.mdb" + Application.StartupPath + "\\database.mdb;Persist Security Info=False;";
OleDbConnection connect = new OleDbConnection(connecta);
OleDbDataAdapter dta = new OleDbDataAdapter("select * from TblLIST", connect);
DataTable DTable = new DataTable();
dta.Fill(DTable);
dataGridView1.DataSource = DTable;

}

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

وقتی از استفادهApplication.StartupPath می کنی یعنی همون DataDirectory|\bin\Debug\database.mdb لازم نیس این دو تا رو کنار هم بگذاری
همون رشته اتصالی که اشاره کردم رو عینا استفاده کنین جواب می ده

مگه اینکه فایل دیتابیس یه جایی غیر از پوشه root پروژه باشه که اون قضیه اش فزق می کنه

ژیار رحیمی
شنبه 12 دی 1394, 18:19 عصر
string connecta = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\database.mdb;Persist Security Info=False;";

esmael_g
شنبه 12 دی 1394, 18:19 عصر
khokhan (http://barnamenevis.org/member.php?131732-khokhan) عزیز انشاءالله موفق باشی همیشه اول که یادگرفتم چطوری به یه شکل دیگه به دیتا بیست متصل بشم دوم هم که مشکل حل شد یه سوال الان ایجاد شد چرا ارور میداد ممنون میشم بگید واقعا می خوام یادبگیرم

khokhan
شنبه 12 دی 1394, 18:25 عصر
khokhan (http://barnamenevis.org/member.php?131732-khokhan) عزیز انشاءالله موفق باشی همیشه اول که یادگرفتم چطوری به یه شکل دیگه به دیتا بیست متصل بشم دوم هم که مشکل حل شد یه سوال الان ایجاد شد چرا ارور میداد ممنون میشم بگید واقعا می خوام یادبگیرم
فرض کن یه غریبه از شما آدرس محلی رو بپرسه و شما آدرس اشتباهی بهش بدین :لبخند: در خوش بینانه ترین حالت عکس العمل طرف چند تا ........ آبداره

esmael_g
شنبه 12 دی 1394, 18:27 عصر
راست میگید البته منظورم از این بود که من در بالای خط که ادرس دیتا بیست رو دادم در خط بعدی (دیتا ادبتور) هم اومدم آدرس فرم رو دادم ولی انگاری بازم (من) آدرس اشتباه دادم در حالی که فکر می کردم درسته کجایی کد اشتباه کردم ببخشید که اینقدر می پرسم بازم