PDA

View Full Version : جستجوی رشته ها



ehsan_ei
جمعه 20 فروردین 1389, 01:45 صبح
سلام دوستان:



من دو تا سوال در مورد جستجوی رشته ها داشتم.


1)من توی یکی از جداول دیتابیسم 10تا فیلد دارم که تاریخ شمسی هستن و من از نوع رشته تعریفشون کردم. حالا می خوام سرچ کنم که مثلا در فلان تاریخ چه اتفاقی افتاده. برای این کار باید تمام فیلد ها رو or کنم.
کد:





adoQuery1.SQL.Clear;
temp1:=',tozihat from edareh,name,mahdude where edareh.shomaretarh=name.shomaretarh and edareh.shomaretarh=mahdude.shomaretarh and (piktaj=';
temp1:=temp1+QuotedStr(tarikh)+'or kandekari='+QuotedStr(tarikh)+'or kandekari1='+QuotedStr(tarikh);
adoQuery1.SQL.Add('select Distinct sherkatname,edareh.shomaretarh,shomaredasturekar ,khiaban ,kuche ,fname ,lname ');
adoquery1.sql.add(temp1);
temp2:='or nasbetir=';
temp2:=temp2+QuotedStr(tarikh);
adoquery1.SQL.Add(temp2+')');
adoQuery1.open;





تا اینجا درست کار می کنه، اما اگه یهor با یه فیلد دیگه بهش اضافه کنم این ارورو میده!!!! :عصبانی++::گریه:




Incorrect syntax near ‘1388/04/05’

این تاریخ رو توی edit نوشتم. خواهشا راهنماییم کنین.:خجالت:

pezhvakco
جمعه 20 فروردین 1389, 10:14 صبح
درود :

1) ehsan_ei عزیز ، همیشه سعی کن کد های برنامه رو اون جوری بنویسی که بشه راحت به خونی .
این کد ها اون قدر تو در تو و شلوغ هست که آدم توش می مونه چی برسه به ماشین .


تا اینجا درست کار می کنه، اما اگه یهor با یه فیلد دیگه بهش اضافه کنم این ارورو میده!!!!
تا کجا درست کار می کنه ! یه دستور دیگه به کجا اضافه کنی ؟

2) این Cost از چه نوعی است ؟
چه خطایی میده ؟

فکر خوش .

nilidelphi
جمعه 20 فروردین 1389, 20:56 عصر
از كد زير ميتوني استفاده كني :




with adoquery1 do
begin
sql.clear;
sql.Add('select * from edareh where cost between '+#39+Edit1.Text+#39+' and '+#39+Edit2.Text+#39+' ; ');
open;
end;

ehsan_ei
یک شنبه 22 فروردین 1389, 00:58 صبح
سلام دوست عزیز:
اون کدی که نوشتم درست کار می کنه. اما وقتی به temp2 این رو اضافه می کنم:




+'nasbetir1'+QuotedStr(tarikh);

یعنی temp2 برابر میشه با:






temp2:=temp2+QuotedStr(tarikh)+'nasbetir1'+QuotedS tr(tarikh);


این ارور رو میده:



Incorrect syntax near ‘1388/04/05’


این تاریخ رو توی edit از کاربر میگیره



لطفا راهنماییم کنین:خجالت:.خیلی مهمه

FiACKER
یک شنبه 22 فروردین 1389, 08:57 صبح
+'nasbetir1'+QuotedStr(tarikh);

شما اسم فیلد رو چسبوندین به تاریخ ! کار نمیکنه دیگه:بوس:


+'nasbetir1 = '+QuotedStr(tarikh);

ehsan_ei
دوشنبه 23 فروردین 1389, 00:41 صبح
سلام دوست عزیز:
ببخشید، من اشتباه تایپ کرده بودم ، من اون = رو میذاشتم اما ارورو میده. علتش چیز دیگه ای هست!:عصبانی++: