PDA

View Full Version : سوال: مشكل در دستور select با استفاده از Adoquery



سيد مجتبي هاشمي
جمعه 26 فروردین 1390, 19:12 عصر
با سلام.
يك دستور select (جستجو) نوشتم كه در ابتدا درست كار ميكرد اما زماني كه نوع يكي از فيلدها رو در بانك اطلاعاتي كه اكسس بود از رشته اي به عددي تغيير دادم اين دستور اجرا نميشه و پيام خطا ميده كه در تصوير مشخص هست. اين فيلد كليد اصلي نيست و جزء فيلدهايي كه به عنوان پارامتر در دستور اسفاده كردم هم نيست. يك DBgrid هم به Adoquery هم وصل هست. لطفا راهنمايي كنيد كه چه طور اين مشكل رو حل كنم.

68782

مهران رسا
جمعه 26 فروردین 1390, 19:39 عصر
خب اینکه خودش داره میگه نوع فیلد Ip با توجه به مقداری که درون رکورد ها قرار داره درست انتخاب نشده . IP شامل نقطه (.) هم میشه . که نقطه رشته هست . ممیز نیست که بگیم عدد اعشاریه ! همین باعث ایجاد خطا شده . نوع رو از عدد به رشته ای برگردونید .

سيد مجتبي هاشمي
جمعه 26 فروردین 1390, 23:06 عصر
دوست عزيز من در فيلد IP فقط سه رقم ذخيره كردم. اول از نوع رشته اي بود حالا تغييرش دادم و از نوع عددي تعيينش كردم و حالا هم در بانك همين سه رقم ذخيره شده. اما با تغيير نوع از رشته اي به عددي اون پيام خطا رو نشون ميده.

vcldeveloper
جمعه 26 فروردین 1390, 23:55 عصر
اول از نوع رشته اي بود حالا تغييرش دادم و از نوع عددي تعيينش كردم و حالا هم در بانك همين سه رقم ذخيره شده. اما با تغيير نوع از رشته اي به عددي اون پيام خطا رو نشون ميده.
به خاطر اینکه فیلدها رو به صورت استاتیک برای برنامه تون تعریف کردید، و بعد از تغییر نوع اون فیلد در بانک اطلاعاتی، فیلد متناظرش در دلفی را تغییر ندادید. باید روی اون دیتاست ADOQuery_Search_Active دابل کلیک کنید، فیلد مربوطه رو از لیست فیلدها در داخل Fields Editor حذف کنید، سپس در پنجره Fields Editor راست-کلیک کنید، و گزینه Add fields رو انتخاب کنید، و از لیست نمایش داده شده، دوباره همون فیلد رو انتخاب کنید، تا همان فیلد این بار با نوع داده جدید براتون ساخته بشه.

سيد مجتبي هاشمي
جمعه 02 اردیبهشت 1390, 12:53 عصر
آقاي كشاورز با تشكر از راهنماييتون.
اينجوري هم درست نشد.
اما
با حذف كردن Adoquery و ديتاست مربوطه و قرار دادن يه Adoquery و ديتاست جديد به جاي اونها و بعد انجام دادن كاري كه شما گفتين اين مشكل رو حل كردم.

آيا اين مشكل در دلفي 2010 هم وجود داره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

vcldeveloper
جمعه 02 اردیبهشت 1390, 18:59 عصر
آيا اين مشكل در دلفي 2010 هم وجود داره؟
این مشکل نیست، همانطور که در پست قبلی توضیح دادم، شما فیلد استاتیک درست کرده بودید. علت حل شدن مشکل تان هم این هست که با حذف اون AdoQuery خاص، تمام فیلدهای استاتیک وابسته به اون هم حذف میشند. وقتی هم که یک شی AdoQuery جدید اضافه کردید، و فیلدها رو به صورت استاتیک بهش اضافه کردید، لیست فیلدهای جدید از بانک اطلاعاتی دریافت شد، و متناسب با نوع هر فیلد براش فیلد استاتیک متناظر ساخته شد. اگر کارهایی که در پست قبل گفتم را دقیقا انجام می دادید، با حذف همون یک فیلد استاتیک مشکل دار، و اضافه کردن مجدد همان فیلد، مشکل تان بر طرف میشد.