PDA

View Full Version : مشکل با اجرای کیویری !



samprp
شنبه 03 فروردین 1387, 09:00 صبح
سلام دوستان
امروز می خواستم با ادوکیویری , ادوکانکشن و دیتاسورس یک کیوری به صورت زیر رو اجراش کنم:




with frmFileNew.ADOQuery1.SQL do
begin
Clear;
Add('SELECT stuff_unit');
Add('FROM Stuff');
Add('WHERE (stuff_name=N'''+strStuff+''')');
end;

که متاسفانه بعد از اجرا هیچ چی نشون نمی ده نه تو دیتاگرید و نو تو دیتالیبل .
البته با بعضی مقادیر کار می کنه و با بعضی ها نه . هیچ تناظری هم بین اون ها وجود نداره که چرا با اون ها کار می کنه و با بقیه نه . خوب اینم لیست همون stuff_name ها که من در کد بالا اون ها رو داخل متغیر strstuff ریختم :





Gooosht kilo
gooosht3 kilo
gooosht4 kilo
goosht kilo
برنج کیلو
چای بسته
حبوبات کیلو
صندلی عدد
قند کیلو
گوشت کیلو
مانیتور دستگاه
ماوس عدد
منگنه بست
میز عدد
کارتریج عدد
کاغظ A4 بسته
کیبرد عدد

البته جای بعضی هاش عوض شده در بالا ولی در کل من می خوام وقتی کاربر نوع کالا رو در یه فرم دیگه انتخاب کرد و اوکی زد من واحد اون کالا رو بگیرم . از وسط این کالاهایی که اینجا گذاشتم کالاهای مانیتور , چای , صندلی , میز , کارتریج و کیبرد هیچ مقداری رو نشون نمی دن

در حالیکه....

در حالیکه همین کد رو با خود استودیوی اس کیو ال سرور امتحان کردم و کار می کنه .

الان واقعا درمونده شدم و نمی دونم چی کار کنم .
دوستان کسی می تونه کمکم کنه.
ممنون.

SYNDROME
شنبه 03 فروردین 1387, 21:19 عصر
مانیتور , چای , صندلی , میز , کارتریج و کیبرد هیچ مقداری رو نشون نمی دن






همه کالاهای فوق یا کلمه "ی" و یا کلمه "ک" را دارند.
کالاهایی را جستجو کنید که فاقد این کلمات باشد.ببینید که برنامه کار می کند یا نه؟
موفق باشید

mohinsoft
شنبه 03 فروردین 1387, 21:40 عصر
سلام
من به جای adoquery از adodataset استفاده کردم هیچ فرقی نداره
کد زیر رو تست کنید:


AdoDataSet1.Connection:=adoconnection1;
AdoDataSet1.CommandText:='select stuff_unit from stuff where stuff_name='
+QuotedStr(trim(edit1.text));
AdoDataSet1.open;

فرض کردم نام وارده در edit1.text قرار داره و adoconnection1 رابط اتصال شما به بانک اطلاعاتی هست
احتمال زیاد جواب بگیرید
موفق باشید

samprp
یک شنبه 04 فروردین 1387, 12:14 عصر
[/right]
[/right]
همه کالاهای فوق یا کلمه "ی" و یا کلمه "ک" را دارند.
کالاهایی را جستجو کنید که فاقد این کلمات باشد.ببینید که برنامه کار می کند یا نه؟
موفق باشید

سلام
این رو در بالا ذکر کردم کلا هر کلمه ای که توش ی نداشته باشه درست کار می کنه .


سلام
من به جای adoquery از adodataset استفاده کردم هیچ فرقی نداره
کد زیر رو تست کنید:


AdoDataSet1.Connection:=adoconnection1;
AdoDataSet1.CommandText:='select stuff_unit from stuff where stuff_name='
+QuotedStr(trim(edit1.text));
AdoDataSet1.open;
فرض کردم نام وارده در edit1.text قرار داره و adoconnection1 رابط اتصال شما به بانک اطلاعاتی هست
احتمال زیاد جواب بگیرید
موفق باشید

ممنون دوست من . این رو نتونستم تست کنم ولی تو زمان طراحی یه دیتاست گذاشتم
و ربطش دادم به ادو کانکشن و همچنین دیتاسورس .
اون کوئری هم که نوشته بودم رو در قسمت کامند تکست گزاشتم .
با بقیه ی کلمات مثل گوشت و ... کار می کرد ولی با مانیتور و کالا اونایی که ی دارند کار نمی کرد . دیگه نمی دونم چی کار کنم . اصلا هیچ گزینه ی اضافی هم وجود نداره که مثلا آنیکد یا چیز دیگه ای رو بخواد تعیین کنه .
لطفا یه راه چاره ای بدید دوستان

mohinsoft
یک شنبه 04 فروردین 1387, 12:52 عصر
سلام


اون کوئری هم که نوشته بودم رو در قسمت کامند تکست گزاشتم

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


AdoDataSet1.CommandText:='select stuff_unit from stuff where stuff_name='
+QuotedStr(trim(edit1.text));

samprp
یک شنبه 04 فروردین 1387, 13:11 عصر
من قبلا مقدار کالا رو از یه متغیر می گرفتم ولی الان از ادیت استفاده کردم .
ولی جواب نداد . با بقیه کار می کنه ولی با اونایی که ی دارند نه .

mohinsoft
یک شنبه 04 فروردین 1387, 13:35 عصر
دوست من موارد زیر رو تست کن ببین رعایت شده یا نه؟
1-
control panel-->regional and languge option
باید در سه سربرگ گزینه های فارسی و ایران باشه
2-
نصب فونتهای فارسی
3-توی sql serverبیبین collaction name برابر Arabic_CI_AS هست یانه
اگر نبود تنظیمات رو ست کن بعد کامند تکستی که نوشتیم رو تست کن ببین جواب میگیری؟

samprp
یک شنبه 04 فروردین 1387, 18:09 عصر
سلام دوست خوبم
تو همش فارسی انتخاب شده بود
با ورد هم به راحتی فارسی کار می کنم حتی با ی هم مشکلی ندارم
در ضمن فونت های فارسی هم نصب دارم
اون کولسشن رو هم به هر زحمتی بود پیداش کردم
ولی همونی بود که شما گفته بودید .

خوب راه حل دیگه ای دارید.
در ضمن با TNT هم کار کردم . از دی بی گریدش استفاده کردم
ولی نشد که نشد
:عصبانی++:

mohinsoft
یک شنبه 04 فروردین 1387, 21:29 عصر
سلامی دوباره
دوست عزیز برای رفع این مشکل من از %% استفاده کردم باز هم اگه اساتید بزرگوار کد بهینه تری رو مد نظر دارن خوشحال میشیم استفاده کنیم
ببینید چون sql با ی مشکل داره شما کلمه تون رو بدون ی و در انتها با عبارت %% جمع کنید کاری مثل کد زیر:


select stuff_unit from stuff where stuff_name like 'صندل'+'%%'

SYNDROME
دوشنبه 05 فروردین 1387, 08:44 صبح
احتمالا به خاطر تفاوت در کدهای ی و ک شما است.
لینک زیر را نگاه کنید.
http://barnamenevis.org/forum/showthread.php?t=71262
موفق باشید