PDA

View Full Version : جستجو در Memo با استفاده از ADO و Access



Sahba Soft
یک شنبه 19 فروردین 1386, 00:24 صبح
سلام
من در ADO با استفاده از دیتابیس Acceess برای سرچ تو Memo مشکل دارم و در یک متن فارسی که در یک فیلد Memo ذخیره شده جواب نمی گیرم
البته در خود Access امتحان کردم مشکلی نداشت ولی در دلفی جواب نمی گیرم.

ghabil
یک شنبه 19 فروردین 1386, 01:31 صبح
چی میزنی که جواب نمیگیری طبیعتا از Like استفاده میکنی دیگه؟

Sahba Soft
یک شنبه 19 فروردین 1386, 12:58 عصر
سلام
بله از Like استفاده می کنم در دلفی جواب نمیده ولی در Access جواب می ده
میشه دلفی و Access در ارتباط با هم مشکل داشته باشند؟

ghabil
یک شنبه 19 فروردین 1386, 13:20 عصر
یعنی چی جواب نمیده مشکلت چیه قشنگ توضیح بده، اینا مشکلی ندارند و بارها ازشون استفاده شدند، باید بگی توچیکار میکنی تا ببینیم مشکل کارت چیه

Sahba Soft
یک شنبه 19 فروردین 1386, 16:38 عصر
در Access دیتا بیسی ایجاد کردم و یکی از فیلدهای آن را از نوع Memo انتخاب کردم بعد در دلفی از طریق ADO به دیتا بیس متصل شدم و وقتی با دستور Select کلمه را در فیلد Memo جستجو می کنم هیش رکوردی بر نمی گرداند
ولی وقتی همین دستور Select رو در َAccess روی دیتابیس تست می کنم خیلی دقیق کار میکنه
در ضمن من برای جستجو در فیلد های معمولی مثل Text و Number و ... به هیچ مشکلی بر نخودم

ghabil
یک شنبه 19 فروردین 1386, 17:02 عصر
Selectی که میزنی رو اینجا بزار...

Sahba Soft
یک شنبه 19 فروردین 1386, 18:43 عصر
Sql ('SELECT * FROM [Index] where Text Like ''%'+ Edit_Text.Text + '%'' Order by Num,Page');
------------------------------------------------------------------

این هم پروسیجر Sql

procedure TFrm_Search.sql(Command : String);
begin
Edit1.Text:=Command;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(Command);
ADOQuery1.Open;
ADOQuery1.Active:=true;
end;

ghabil
دوشنبه 20 فروردین 1386, 11:12 صبح
بنظر نمیاد چیزی غلط باشه فقط بین Like و % و همینطور % و Order فاصله بزار ، که البته اگر این بود Error میگرفت نه اینکه هیچی نیاد .
یک چیز دیگه تکست جستجوت فارسیه ؟

Sahba Soft
دوشنبه 20 فروردین 1386, 23:41 عصر
بله جستجو در متن فارسی انجام میشه
بازهم یادآوری می کنم فقط در جستجو در فیلدMemo مشکل دارم جستجو در فیلد های دیگه مشکلی نیست.

ghabil
سه شنبه 21 فروردین 1386, 01:06 صبح
راستش من زیاد چیزی بنظرم نمیرسه فقط یک چیز دیگه رو هم تست کن که مطمدن بشی :
یکBreakPoint توی کدت بزار زمان اجرا مقدار Command رو در بیار شاید ایراد از جای دیگه ای باشه . بعد هم همون کد کپی کن ببر تو اکسس ببین جواب میده.

راستی وقتی Open میکنه خودش Active رو True میکنه نیازی به خط آخر نیست (البته به مشکلت ربطی نداره)

Sahba Soft
سه شنبه 21 فروردین 1386, 01:21 صبح
اتفاقا این کارو هم امتحان کردم در اکسس جواب داده

adaman
سه شنبه 21 فروردین 1386, 01:59 صبح
کدهای شما فک کنم مشکلی نداشته باشن (چون حالم زیاد خوب نیس نیگا نکردم)
ولی می تونم حدس بزنم مشکل کجاس ، شما برای نشون دادن نتایج جستجو از چی استفاده کردین ، DBGrid؟
فک کنم DBGrid مقادیر Memo رو نشون نمیده ، از DBMemo استفاده کنین به جاش.
اگه درست حدس زده باشم:متفکر:

Sahba Soft
سه شنبه 21 فروردین 1386, 15:50 عصر
با سلام به adaman
نه دوست عزیز، مشکل من در نمایش آن نیست و اصلا من نمی خوام متن در DBGrid نمایش داده شود بلکه می خواهم فیلدهای دیگر جدول مانند تیتر و تهیه کننده و ...در DBGrid نمایش داده شود.
موضوع اینه که DBGrid در حالتی که واژه مورد نظر رو در فیلد های دیگر جدول جستجو که از نوع Memo نیست جستجو می کند، ولی همین که کد بالا را به آن اضافه می کنم دیگر در DBGride هیچ رکوردی را بر نمی گرداند.