نمایش نتایج 1 تا 13 از 13

نام تاپیک: مشکل در دستور جستجو

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    مشکل در دستور جستجو

    سلام

    من با این دستور تو دیتابیس عمل جستجو را انجام می دادم . ولی حالا که دارم با SQL کار می کنم خطا می گیره !!!!!

     with ADOQuery1  do
    begin
    Close;
    SQL.Text:='select * from AfradInfo where Fname Like"'+Edit1.Text+'%"';
    ExecSQL;
    end;


    این هم خطاش :
    Untitled.jpg

    به نظر شما مشکل از کجاست؟

  2. #2

    نقل قول: مشکل در دستور جستجو

    دستور رو به صورت 'select * from AfradInfo where Fname Like"'+quotedstr(Edit1.Text)+'%"';تغییر دهید

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    مگه این دستور Quotedstr چه عملی را انجام میده؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    داش به این صورت که شما گفتین نوشتم بازهم جواب نمی ده!!

    چکار کنم؟

  5. #5

    نقل قول: مشکل در دستور جستجو

    این کد دستور رو امتحان نمایید :
    with ADOQuery1  do
    begin
    Close;
    SQL.Text:='select * from AfradInfo where Fname Like ' + QuotedStr(Edit1.Text + '%') + ' ';
    Open;
    end;

    من با این دستور تو دیتابیس عمل جستجو را انجام می دادم . ولی حالا که دارم با SQL کار می کنم خطا می گیره
    تو دیتابیس کجاست ؟
    این کد دستور که نوشتین مربوط به دلفی است و نه SQL .

  6. #6
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    دوست عزیز مثل اینکه من تو قسمت بانک اطلاعاتی دلفی تاپیک زدم و منظورم تو دلفی بوده نه SQL

  7. #7
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    نگفتی QuotedStr کارش چیه؟

  8. #8
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    چرا این کد جستجو حرف 'ی' را جستجو نمی کنه ؟

  9. #9

    نقل قول: مشکل در دستور جستجو

    quotedStr برای عبارات رشته ای استفاده میشه، در بخش هایی از دستور sql که مقدار فیلدها به صورت رشته قرار میگیرند از این تابع استفاده می شود. در واقع این تابع علامت ' ' را اطراف عبارت ورودی خود قرار میدهد، که بیانگر رشته در sql می باشد. مثلا عبارت
    'select * from AfradInfo where Fname Like ' + QuotedStr(Edit1.Text + '%') + ' '
    به این صورت به sql پاس داده می شود (که البته بجای Edit1.Text مقدار آن ارسال می شود)
    select * from AfradInfo where Fname Like 'Edit1.Text %'
    متوجه شدید

  10. #10

    نقل قول: مشکل در دستور جستجو

    اگر برنامه شما تحت ویندوز میتونید KBDFA.DLL ( در مسیر C:\Windows\System32) را با KBDFA.DLL فارسی جابجاکنید. و یا اینکه با دستور replace در sql کلیه 'ی'های درون دیتا بیس خود را با 'ی' فارسی جایگزین کنید.و از این به بعد هنگام درج نیز 'ی'های رکورد موردنظر را با 'ی'فارسی جایگزین کرده سپس درج کنید. و هنگام جستجو نیز 'ی' را به صورت فارسی جستجو کنید

  11. #11

    نقل قول: مشکل در دستور جستجو

    برای جست و جوی حروف فارسی قبل از عبارت مورد جست و جو حرف N رو بزارید تا جست و جو به صورت یونیکد انجام بشه :

     
    with ADOQuery1 do
    begin
    Close;
    SQL.Text:='select * from AfradInfo where Fname Like N' + QuotedStr('%' + Edit1.Text + '%');
    ExecSQL;
    end;

  12. #12
    کاربر دائمی
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    کنار ساحل نیلگون خلیج همیشه فارس
    پست
    440

    نقل قول: مشکل در دستور جستجو

    جناب تاجیک از راهنمایی تون متشکرم

    چرا وقتی از بانک اکسس استفاده می کنم از یونیکد ایراد نمی گیره ولی تو SQL خطا می گیره و باید قبلش N بزاریم ولی در صورتی که تو اکسس بدون N هم میشد جستجو کرد؟

  13. #13

    نقل قول: مشکل در دستور جستجو

    خطایی نمیگیره ! فقط نمیتونه حروف فارسی رو جست و جو کنه اون هم به خاطر Collation تعیین شده برای بانک هست .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •