ورود

View Full Version : بانک sql و join



parniant
دوشنبه 06 آبان 1387, 19:51 عصر
من در sql اومدم بین دو جدولم ارتباط برقرار کرده ام و از join استفاده کردم ولی مشکلی که دارم اینه که برای فیلدهایی که عدد هست درست عمل می کنه اما برای فیلدهایی مانند نام درست عمل نمی کنه به عنوان مثال از دستور زیر استفاده کرده ام
adoquery1.SQL.Clear;
adoquery1.Close;
adoquery1.SQL.Add('SELECT tteacher.karmand , ttclock.datet, ttclock.a1t FROM ttclock left outer JOIN tteacher ON ttclock.ido = tteacher.ido WHERE tteacher.tel=11111 ');
adoquery1.Open;

که دستور بالا درست جواب می ده اما اگه از دستور زیر استفاده کنم پیغام خطا می ده

adoquery1.SQL.Clear;
adoquery1.Close;
adoquery1.SQL.Add('SELECT tteacher.karmand , ttclock.datet, ttclock.a1t FROM ttclock left outer JOIN tteacher ON ttclock.ido = tteacher.ido WHERE ttclock.name like "'+edit5.text+'"');
adoquery1.Open;

در این دستور حتی به جای edit5 هم نام را قرار می دم اما درست جواب نمی ده به جای edit5 از چی استفاده کنم تا درست جواب بده (دلفی با بانک sql ) بین دو جدول با استفاده از فیلد مشترک ido هم همونطور که مشخصه ارتباط برقرار کرده ام

Touska
سه شنبه 07 آبان 1387, 08:36 صبح
اینجوری باید دقیقا کپی متن Edit5 باشه برای ان کار دو راه دارید :

1- به ttclocl.name یک RTrim اضافه نمایید.
2- به شرط Like تون یک % اضافه نمایید در ته آن تا در صورت کامل شدن متن از Space ها بگذرد.

موفق باشید :)