PDA

View Full Version : استفاده از مقادیر ورودی کاربر در sql Query



یعقوب
یک شنبه 22 مرداد 1385, 04:53 صبح
سلام دوستان
من تازه با دستورات sql در queryها آشنا شدم. یک مسئله هنوز برام حل نشده باقی مونده...!
چطور می‌تونم مقادیر ورودی کاربر رو در دستورات یک کوئری اعمال کنم؟
مثلاً جستجوی مقدار ورودی کاربر در شیء edit، با دستورات sql؟
لطفاً سریعتر راهنمایی کنید.

andisheh
یک شنبه 22 مرداد 1385, 08:28 صبح
با عملگر + میتونی هر چی می خوای به دستور sql اضافه کنی
فقط حواست باشه باید به جای ' از دوتا ' یعنی '' (نه دبل کوتیشن ) استفاده کنی
اینم یه مثال


QUERY.SQL.Add('SELECT feildname FROM "tabelname" WHERE fieldname='''+text1.text+'''');


اینجوری بهتر مشخصه


QUERY1.SQL.Add('SELECT feildname FROM tabelname WHERE fieldname='''+text1.text+''');

ویرایش تگها توسط : Mzjahromi

یعقوب
یک شنبه 22 مرداد 1385, 16:49 عصر
خیلی از پاسختون ممنونم
اما می‌بخشید؛ از راه حل آقا بشیر زیاد سر در نیاوردم...!

اینجوری بهتر مشخصه
;(''''+ QUERY1.SQL.Add('SELECT feildname FROM tabelname WHERE fieldname='''+text1.text

فکر می‌کنم یک ایراد کوچولو داره، جواب نمی‌ده...! لطفاً یک بار اینو تست کنید.
خیلی ممنون می‌شم.
منتظرم

یعقوب
یک شنبه 22 مرداد 1385, 17:05 عصر
از دوستان ممونم مشکلم حل شد
اینطوری

ADOQuery1.SQL.Add('WHERE Buy_Factors.Factor_Number='+edit1.text);

فقط نمی‌دونم چرا جناب اندیشه از اینهمه کوتیشن استفاده کردن؟
باید با اون مثل string رفتار کرد
ممنون

mzjahromi
یک شنبه 22 مرداد 1385, 17:15 عصر
اگر Type متغیر شما از نوع رشته باشد باید آنرا درون ' قرار دهید و از آنجا که ' در دلفی خود نشانگر شروع رشته است برای اینکه درون یک رشته دیگر قرار گیرد بایستی از دوتا ' استفاده کنید

andisheh
یک شنبه 22 مرداد 1385, 18:55 عصر
دقیقا به همان دلیلی که آقای mzjahromi فرمودند
البته فکر کنم قبلا دلیلش رو گفتم ولی خوب گویا مطلب رو کامل عرض نکردم