View Full Version : سوال: اجرا نشدن Query
سيد مجتبي هاشمي
پنج شنبه 17 شهریور 1390, 10:16 صبح
با سلام.
دوستان من دستور جستجويي رو با استفاده از Adoquery نوشتم اما زمان اجرا پيام خطايي رو نشون ميده كه در تصوير ضميمه مشخص شده. لطفا بهم بگيد چه طور اين مشكل رو حل كنم. در ضمن پس از Trace كردن تمام پارامترها مقدار ميگيرن اما باز هم اين پيام رو نشون ميده.
75027
http://barnamenevis.org/images/misc/pencil.png
یوسف زالی
جمعه 18 شهریور 1390, 00:43 صبح
سلام.
پارامتر ها رو مگه نباید قبلش @ گذاشت؟
fakhravari
جمعه 18 شهریور 1390, 11:59 صبح
یه فاصله بزارید بین =
fild:
چرا از نام خود فیلد استفاده نمیکنید x,y گذاشتید.
این eror از مقدار گیری parametr
سيد مجتبي هاشمي
جمعه 18 شهریور 1390, 18:54 عصر
سلام.
پارامتر ها رو مگه نباید قبلش @ گذاشت؟
فکر نمیکنم. من که تا حالا اینجوری ننوشتم
سيد مجتبي هاشمي
جمعه 18 شهریور 1390, 19:04 عصر
یه فاصله بزارید بین =
fild:
= و : باید بدون فاصله باشند. نوشتن Query با استفاده از ارسال پارامتر همیجوریه.
چرا از نام خود فیلد استفاده نمیکنید x,y گذاشتید.
دوست عزیز میشه یه مثال بزنید.
من تا حالا تو تمام برنامه هایی که نوشتم برای جستجو از همین روش استفاده کردم و همیشه هم درست جواب داده، اما این یکی نمیدونم چرا این پیام رو نشون میده. Adoquery مربوطه رو هم پاک کردم دوباره یه Adoquery جدید گذاشتم. دستورات رو هم همینطور، پاکشون کردم و از اول نوشتمشون امام درست نشد که نشد.(اینکه گفتم پاکشون کردم و از اول نوشتمشون و یا Query رو جدید گذاشتم آخه قبلا برام پیش اومه بود و اینجوری مشکل رو حل کرده بودم). حالا اگه دوستان روش بهتر، سریعتر و نرمالتری رو سراغ دارن بگن تا ما هم یاد بگییریم.
با تشکر از راهنماییهاتون.
fakhravari
جمعه 18 شهریور 1390, 20:34 عصر
با سلام ببینید اینو
___________________
دستورات sql از date باید با پرانتز اجرا کنید
سعید صابری
جمعه 18 شهریور 1390, 21:30 عصر
یه فاصله بزارید بین =
fild:
چرا از نام خود فیلد استفاده نمیکنید x,y گذاشتید.
این eror از مقدار گیری parametr
ببخشید فضولیه ها. چه فرقی بین روش شما و جناب mojtaba_ha2007 هست؟ (http://barnamenevis.org/member.php?43854-mojtaba_ha2007)
فکر نکنم فرقی باشه. حداقل در دلفی.
fakhravari
جمعه 18 شهریور 1390, 21:57 عصر
من گفتم که شاید از ورودی پارامتر باشه
کلمه کلیدی between بین 2 بازه کار میکنه
_______________________________
احتمال اینگه eror از فیلدی که مقدار true میگیره باشه.
سيد مجتبي هاشمي
شنبه 19 شهریور 1390, 10:06 صبح
با سلام ببینید اینو
___________________
دستورات sql از date باید با پرانتز اجرا کنید
دوست عزیز مشکل در نوع نوشتن پارامترها نیست، چون زمانی که این قسمت رو Trace میکنم تمام پارامترها مقدار میگیرن حتی پارامترهایی که تاریخ هستند. اما باز هم این پیام رو نشون میده.
fakhravari
شنبه 19 شهریور 1390, 10:23 صبح
با سلام
دیتابیس رو بزارید روش کار کنم شاید با مقداردهی به روش دیگر این قسمت حل شه.
khorsandreza
شنبه 19 شهریور 1390, 18:31 عصر
سلام پایگاه داده شما چیست این روش ارسال پارامتر فقط در فایر برد و اینتربیس معتبر است بنطر میرسه شما از دیتابیس اکسس استفاده میکنید ارسال پارامتر با علامت دو نقطه (:) برای اکسس نا معتبر است باید از علامت (@) و یا دستورات مستقیم استفاده کنی
مثال:ADO.Sql.Add('Select Code From MyTB WHere Code='+''''+TextBox1.Text+'''');
ضمنن کنترل کنید Parametrchek در چه وضعیتی است اگر false حتما ان را True قرار دهید
سعید صابری
شنبه 19 شهریور 1390, 19:53 عصر
سلام پایگاه داده شما چیست این روش ارسال پارامتر فقط در فایر برد و اینتربیس معتبر است بنطر میرسه شما از دیتابیس اکسس استفاده میکنید ارسال پارامتر با علامت دو نقطه (:) برای اکسس نا معتبر است باید از علامت (@) و یا دستورات مستقیم استفاده کنی
ولی من خودم بشخصه در اکسس و sql و mysql استفاده می کرده ام و می کنم و تا حالا هم به مشکلی برنخورده ام
fakhravari
شنبه 19 شهریور 1390, 20:45 عصر
mojtaba_ha2007 جان دیتابیسو بزار
سيد مجتبي هاشمي
یک شنبه 27 شهریور 1390, 12:22 عصر
با عرض معذرت و تشكر از همه دوستان به خاطر جوابهاتون.
مشكل رو پيدا كردم. در ادامه Query كه نوشتم عبارت order by name,fname هم نوشته شده بود كه در تصوير مشخص نبود و چون همچين فيلدهايي در جدول مربوطه نبود اين پيام خطا رو نشون ميداد.
هر چند اشتباه بچه گانه اي بود ولي تجربه خيلي خوبي بود. :خجالت::خجالت::خجالت::خجالت:
سيد مجتبي هاشمي
یک شنبه 27 شهریور 1390, 12:56 عصر
ارسال پارامتر با علامت دو نقطه (:) برای اکسس نا معتبر است باید از علامت (@) و یا دستورات مستقیم استفاده کنی
مثال:ADO.Sql.Add('Select Code From MyTB WHere Code='+''''+TextBox1.Text+'''');
ضمنن کنترل کنید Parametrchek در چه وضعیتی است اگر false حتما ان را True قرار دهید
براي اكسس نامعتبر نيست.
شما تو مثالي كه نوشتين از @ استفاده نكردين. ميشه يه مثال ديگه بزنين؟
با تشكر از جوابتون.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.