View Full Version : مشکل با adoquery در فیلتر کردن
echoes
شنبه 14 اردیبهشت 1387, 19:30 عصر
تو دلفی 7 وقتی که می خوام کوئری بگیرم که بیش تر از 3 تا and داره این عمل صحیح انجام نمیشه یا به طور مثال از beween و and همزمان استقاده کنم قسمت order by دریت عمل نمی کنه در صورتی که همین دستورات تو دلفی های بالاتر کاملا درست کار می کنند؟؟!
delphiprog3000
شنبه 14 اردیبهشت 1387, 19:34 عصر
سلام دوست عزیز.
میتونم بپرسم شما به چه صورت دستوراتتون رو مینویسین؟
یک نمونه بیارین؟
echoes
یک شنبه 15 اردیبهشت 1387, 02:13 صبح
ممنون
هم یا پرانتز گذاشتم و هم بدون پرانتز
نمونه آخر اینه
select * from tbGardeshBank where (((Gb_tarikh between '''+tarikhS+''' and '''+tarikhP+''')) and ((GB_BCode='''+DBE_BCode.Text+'''))) order by GB_Tarikh_adad asc
SYNDROME
یک شنبه 15 اردیبهشت 1387, 05:46 صبح
ممنون
هم یا پرانتز گذاشتم و هم بدون پرانتز
نمونه آخر اینه
select * from tbGardeshBank where (((Gb_tarikh between '''+tarikhS+''' and '''+tarikhP+''')) and ((GB_BCode='''+DBE_BCode.Text+'''))) order by GB_Tarikh_adad asc
مقدار فیلد Gb_tarikh و GB_BCode از چه نوعی است؟
موفق باشید
delphiprog3000
یک شنبه 15 اردیبهشت 1387, 09:32 صبح
سلام با اجازه دوست عزیز Syndrome
دوست من من کد شما رو به نحوه دیگه با استفاده از Quotedstr نوشتم و بهم درست جواب داد .
به این صورت:
var str:string;
begin
str:='select * from tbl1 where [id] between'+QuotedStr(Edit1.Text)+ ' and '+
QuotedStr(Edit2.Text)+ ' and [id2] between '+QuotedStr(Edit3.Text)+' and '+QuotedStr(edit4.Text)+' order by name';
ADOQuery1.SQL.Text:=str;
ADOQuery1.Open;
end;
امیدوارم مشکلت حل شده باشه.....................
حمیدرضاصادقیان
یک شنبه 15 اردیبهشت 1387, 11:51 صبح
سلام.در ادامه پاسخ دوستان برای اینکه دقیقتر ببینی مشکلت کجاست بعد از این که رشته رو پاس دادی قبل از open دستور زیر رو بنویس
Showmessage(adoquery1.sql.text);
این دستور کدی که شما نوشتی رو بهت نمایش میده حتی روی این خیلی راحت میتونی متوجه خطای کدت بشی.
Borland-Delphi7
یک شنبه 15 اردیبهشت 1387, 13:45 عصر
تو دلفی 7 وقتی که می خوام کوئری بگیرم که بیش تر از 3 تا and داره این عمل صحیح انجام نمیشه یا به طور مثال از beween و and همزمان استقاده کنم قسمت order by دریت عمل نمی کنه در صورتی که همین دستورات تو دلفی های بالاتر کاملا درست کار می کنند؟؟!
عزیز من موضوع تو به سئوالت نمیخوره به این کار که نمیگن فیلتر گیری در ضمن تا مطمئن نشدی که دلفی باگ داره ننویس مشکل در adoquery بنویس سئوال در مورد پاس string به sql مربوط به adoquery
echoes
یک شنبه 15 اردیبهشت 1387, 14:51 عصر
عزیز من موضوع تو به سئوالت نمیخوره به این کار که نمیگن فیلتر گیری در ضمن تا مطمئن نشدی که دلفی باگ داره ننویس مشکل در adoquery بنویس سئوال در مورد پاس string به sql مربوط به adoquery
امان از بی سوادی من، البته دوستان منظور من رو از سوالم گرفتند، ضمنا من چطور این دستور رو در دلفی 2005-2007 اجرا می کنم کاملا صحیح انجام میده ولی در دلفی 7 اینطوری نیست، این مشکل تنها در این کوئری نیست بلکه وقتی بیشتر از 3 تا And یا هر operator دیگه ای به این نحو استفاده می کنم همین مشکل هست
echoes
یک شنبه 15 اردیبهشت 1387, 14:54 عصر
مقدار فیلد Gb_tarikh و GB_BCode از چه نوعی است؟
موفق باشید
هر دو از نوع text هست. البته بانکم هم access
echoes
یک شنبه 15 اردیبهشت 1387, 15:09 عصر
سلام.در ادامه پاسخ دوستان برای اینکه دقیقتر ببینی مشکلت کجاست بعد از این که رشته رو پاس دادی قبل از open دستور زیر رو بنویس
Showmessage(adoquery1.sql.text);
این دستور کدی که شما نوشتی رو بهت نمایش میده حتی روی این خیلی راحت میتونی متوجه خطای کدت بشی.
خطایی رو من توش تشخیص نمی دم
delphiprog3000
یک شنبه 15 اردیبهشت 1387, 16:49 عصر
سلام دوست عزیز .
اون تکه کدی که براتون گذاشتم میتونه مشکل شمارو حل کنه.
چون براتون تستش هم کردم درست پاسخ داد.............
موفق باشید.......................
echoes
دوشنبه 16 اردیبهشت 1387, 00:20 صبح
یله درست کارکرد ولی برام جالبه که بدونم ایراد از کجاست
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.