PDA

View Full Version : کمک در کار با Sql



محمد میرزایی
یک شنبه 13 شهریور 1384, 12:28 عصر
با سلام و خسته نباشید خدمت دوستان عزیز
من تازه کار با SQL را شروع کردم . ولی مشکل دارم .
من یک شی Table و Query و datasource و Dbgrid و یک دکمه گذاشتم . دستورات Sql را داخل دکمه می نویسم :

Query1.Open;
Query1.SQL.Add('select * From BGroupDB.DB where Code >8402');
Query1.ExecSQL;

بعد که برنامه رو اجرا می کنم و دکمه رو کلیک می کنم خطای زیر رو میده :

Query1 : No Sql Statement Available

یه سوال دیگر : هدف من این است که مقدار فیلد مورد جستجو را در زمان اجرا به دستور Sql بدهم و در جایی هم خواندم که باید از خاصیت Params استفاده کرد و خاصیت کلیک کنید تا کادر مربوط به آن باز شود و از آن گزینه Add را انتخاب کنید ولی گزینه Add فعال نیست .

متشکرم .

vcldeveloper
دوشنبه 14 شهریور 1384, 03:21 صبح
از کدی شبیه به این استفاده کن:


with Query1 do
try
Close;
SQL.Clear;
SQL.Add('SELECT * FROM YourTable WHERE Code > :paramCode');
ParamByName('paramCode').Value := 1000;
Open;
except
on E: Exception do
MessageDlg(E.Message,mtError,[mbOK],0);
end;

بجای YourTable هم اسم جدول خودت رو بزار.

Naficy
دوشنبه 14 شهریور 1384, 12:10 عصر
توضیح کوچک: همانطور که آقای کشاورز اشاره داشتند، با گذاشتن دو نقطه قبل از نام پارامتر می توانید آنرا به دلفی معرفی کنید. و اگر متن SQL را هنگام طراحی به شی اضافه کرده باشید قاعدتا قابلیت add کردن آن در لیست مذکور را هم خواهید داشت.

محمد میرزایی
چهارشنبه 16 شهریور 1384, 14:02 عصر
با تشکر از دوستان گرامی که لطف کردند و به سوال من جواب دادند ولی من همچنان نمی توانم یک Param ایجاد کنم .
بعد از وارد کردن دستور SQL هم در قسمت Param گزینه ADD فعال نمی شود . حتی دستور SQL نیز اجرا می شود و گزینه ADD فعال نمی شود.
اگر بخواهیم از داخل برنامه یک Param تعریف کنیم باید چه کدی وارد کنم .
اگر امکان دارد یه نمونه از دلفی را برایم بفرسید .
متشکرم.

vcldeveloper
پنج شنبه 17 شهریور 1384, 02:01 صبح
در دلفی وقتی دستور SQL را در خصوصیت SQL وارد میکنی، اگر در داخل اون دستور از پارامتر استفاده کرده باشی، دلفی بطور خودکار اون پارامتر را به لیست Parameters اضافه می کنه.
اگر می خوای در Design Time پارامترها رو خودت وارد کنی، می تونی روی دکمه "..." روبروی خصوصیت Parameters کلیک کنی تا Editing Parameters باز بشه. حالا می تونی توی این پنجره با فشار دکمه Insert (از کیبورد) یا کلیک بر روی دکمه Add New یک پارامتر جدید به لیست اضافه کنی. با کلیک بر روی پارامتر ایجاد شده، مشخصاتش در Property Inspector نمایش داده میشه و می تونی اونها رو تغییر بدی.

محمد میرزایی
پنج شنبه 17 شهریور 1384, 12:01 عصر
آقای کشاورز باز هم متشکرم که جواب ما را دادید. کدی که شما داده بودید دارای این خصوصیت بود . یعنی در داخل دستور SQL یک Param گذاشتید . و طبق گفته شما با این کار خود دلفی یک Param ایجاد میکنه ولی من کد شما را اجرا کردم ولی باز هم خطای Type Mismatch in expression رو میده .
در زمان طراحی هم دکمه Add مربوط ایجاد Param فعال نمی شه همچنین زدن دکمه Ins هم کار نمی کنه.
اشکال کار من کجاست .

متشکرم.

vcldeveloper
پنج شنبه 17 شهریور 1384, 18:39 عصر
ولی باز هم خطای Type Mismatch in expression رو میده .
این یعنی نوع پارامتر شما با نوع داده ایی که بهش اختصاص میدید، همخونی نداره.

در زمان طراحی هم دکمه Add مربوط ایجاد Param فعال نمی شه همچنین زدن دکمه Ins هم کار نمی کنه.
میشه یه تصویر ازش اینجا بزارید؟

محمد میرزایی
سه شنبه 22 شهریور 1384, 10:16 صبح
آقای کشاورز سلام
من کارهایی که کردم را در یک پروژه ذخیره کردم . اون رو برایتام می فرستم تا ببنید مشکل من کجاست .
از لطف جناب عالی نهایت تشکر را دارم.