PDA

View Full Version : مشکل در دستور INSERT INTO



Arash-For-Life
شنبه 07 فروردین 1389, 10:10 صبح
سلام:
وقتی میخوام از این دستور استفاده کنم یه exception رخ میده و این استثنا به معنی این هستش که در این دستور خطای گرامری وجود داره:
این دستوری که من استفاده میکنم:

commandString = "INSERT INTO new_book (ISBN,Book_Name,Publisher_Name,Subject,Language,Bo ok_Pic)" +
"VALUES (1233,'csharp2005','ghomi','programming','farsi',' ')";

teardrop
شنبه 07 فروردین 1389, 10:27 صبح
بعضی از فیلدها باید از براکت استفاده کنی.[]

مثلا:

INSERT INTO STtABLE(Name,[Family])VALUES("reza","rezaei")


فکر کنم فیلدهای که از فضای خالی استفاده کردی باید براکت بزاری.

اگه می خواهی راحتر باشی یک آداپتور بزار و در قسمت اینسرت در آنجا کیوری اینسرت را درست کن و دستور را کپی کن و در کدت هر طور که می خواهی تغییر بده
فقط با این کار می فهمی که کجا براکت بزاری.

mohammad.sakhidel
شنبه 07 فروردین 1389, 13:39 عصر
ببین نوع فیلداتم کاش مینوشتی. دقت کن برای فیلد نوع رشته حتماً باید تک کوتیشن بذاری و برای عدد حتماً باید نذاری :لبخند: فیلد ISBNت رشته است یا عدده؟
دوست من چرا از پارامتر ها برای ارسال مقادیرت استفاده نمیکنی؟



-----------------------------------------------------------------
بازار مرزی ایرانیان :: تجربه یک خرید ارزان و با کیفیت (http://www.bazaremarzi.com)

Arash-For-Life
شنبه 07 فروردین 1389, 14:20 عصر
خوب ارسال پارامترها چجوریه؟ میشه مثال بزنید؟؟/
اصلا فیلدی که فاصله داشته باشه ندارم
همه فیلده نوع رشته هست به جز Book_Pic که از نوع OLE هست و فیلد ISBN که از نوع عددی هستش

teardrop
شنبه 07 فروردین 1389, 14:37 عصر
خوب ارسال پارامترها چجوریه؟ میشه مثال بزنید؟؟/
اصلا فیلدی که فاصله داشته باشه ندارم
همه فیلده نوع رشته هست به جز Book_Pic که از نوع OLE هست و فیلد ISBN که از نوع عددی هستش

راست کلیک کن در جعبه ی ابزار و oleDbConnection و oleDbDataAdaptor رو پیدا کن و بیارشون.
اول یک شی oleDbConnection روی فرم بذار اتصال رو با بانک برقرار کن.
یک آداپتور oleDbDataAdaptor بزار (کنترلش رو بذار روی فرم) و خصوصیت Connection که خودش میاره oleDbConnection1 رو انتخاب کن.
و در خصوصیت آداپتور قمست InsertCommand در CommandText کلیک کن و در آنجا جدول رو بیار در آنجا کیوری اینسرت را درست کن و دستور را کپی کن (فیلد ها رو اونجا تیک بزن) و در کدت هر طور که می خواهی تغییر بده
فقط با این کار می فهمی که کجا براکت بزاری.
من خودم این مشکل رو داشتم و به خاطر این هست که بفهمی که کجا براکت استفاده کنی. آخرش همه ی کنترل ها رو پاک کن و با کد نویسی بنویس.
این روش که گفتم با کنترلها کار میکنه و نیاز به کد نویسی نداره.

sds1920
شنبه 07 فروردین 1389, 17:12 عصر
دوست عزیز سلام.من هم قبلا توی Access به این مشکل برخوردم.
اگه تو هم با اکسس کار می کنی بهتره اسم هر فیلد را بین دوکاراکتر `` قرار بدی مثلا `ISBN`.این کاراکتر همون حرف پ فارسی هست که در حالت انگلیسی به این شکل نشون داده میشه.
اگه با این کار باز هم نشد با اسم جدولت هم همین کار رو بکن.
امیدوارم که مشکلت حل بشه.