PDA

View Full Version : سوال: درخواست اشکال زدایی از عبارت پیوست



khoshblagh
سه شنبه 01 بهمن 1387, 09:10 صبح
با سلام خدمت دوستان
کسی میدونه اشکال کد زیر که برای ثبت اطلاعات در بانک sql2005 نوشته شده چیست. توضیح اینکه بانک مربوطه متصل و فعال میباشد. و در هنگام اجرا خطای سینتکس میدهد.

frmSabtPaymankar.cmdSabtPaymankar.CommandText :='INSERT INTO tblPaymankar( ' +
'Cod, NamePaymankar, PhonNumber,Address,Email )'+
'VALUES ('+QuotedStr(txtCod.Text)+','+QuotedStr(txtName.Te xt)+','+QuotedStr(txtPhonNumber.Text)+','+
QuotedStr(txtAddress.Text)+','+QuotedStr(txtEmail. Text);
frmSabtPaymankar.cmdSabtPaymankar.CommandType :=cmdText;
frmSabtPaymankar.cmdSabtPaymankar.Execute ;
با تشکر

ghabil
سه شنبه 01 بهمن 1387, 09:45 صبح
میخوای بگی چه خطایی میگیری؟

khoshblagh
سه شنبه 01 بهمن 1387, 09:55 صبح
میخوای بگی چه خطایی میگیری؟

نه میخوام اشکال پیدا و رفع شود تا برنامه بدون خطا اطلاعات مورد نظر را به بانک اطلاعاتی منتقل نماید. با تشکر

vcldeveloper
سه شنبه 01 بهمن 1387, 17:04 عصر
به نظر میاد که در آخر دستور SQL یک '(' کم گذاشتید؛ یعنی پرانتز VALUES بسته نشده.

bmanfy
سه شنبه 01 بهمن 1387, 18:23 عصر
یکی همین که اقای کشاورز فرمودند شما بعد از Value پرنتز را نبستید .

یک چیز دیگه هم به چشم من خورد . البته نه اینکه اشتباه باشه اما گفتم شاید اشتباه منطقی باشه .
مگه شما فیلد کد رو از نوع رشته ای تعریف کرده اید که درون '' قرار میدهید .
البته من این رو طبق اون چیزی که معموله و کد رو از نوع عددی در نظر می گیرند گفتم . چون به هر حال اگه از نوع عددی باشه دیگه در کد شما نیازی به QuotedStr نیست تنها کافیه که به رشته تبدیل کنید .

khoshblagh
چهارشنبه 02 بهمن 1387, 08:31 صبح
با تشکر از آقایان کشاورز و bmanfy
مشکل همان عدم درج پرانتز پایانی کد بود که برنامه اصلاح شد.
اما در مورد Cod من به این علت از نوع رشته انتخاب کردم که در حقیقت به عنوان کد شناسایی (کلید پریمری) جدول از آن استفاده میکنم و هیچ گونه عملیات ریاضی روی
آن انجام نمیگیرد. اگر برداشت من از موضوع صحیح نیست مرا راهنمایی کنید.
متشکرم

bmanfy
چهارشنبه 02 بهمن 1387, 18:09 عصر
اما در مورد Cod من به این علت از نوع رشته انتخاب کردم که در حقیقت به عنوان کد شناسایی (کلید پریمری) جدول از آن استفاده میکنم و هیچ گونه عملیات ریاضی روی

اینکه بر روی یک فیلد عملیات محاسباتی انجام نشه صرفا نمیشه دلیلی باشه که اون رو از نوع عددی تعریف نکنی .
مثلا اگه فقط برای اینکه یک فیلد کلیدی باشه تعریف کردی خوب بهتره از نوع عددی استفاده کنی . البته این نظر شخصی منه . در مواقعی
البته من دقیق متوجه منظور شما نشدم . اما خوب بسته به مقدار دهی شما میتونه نوع عددی مقداری کمتری از حافظه رو اشغال کنه .
و اگر هم هیچ گونه استفاده ای اوز اون نمیکنی میتونی از نوع عددی و مقدار دهی خودکار .
البته همه چیز به شما و کاربرد شما بر میگرده .