PDA

View Full Version : سوال: چرا QueryBuilder پارامتر رو قبول نمی کنه؟



mmbguide
جمعه 13 اسفند 1395, 15:22 عصر
سلام

یک Query توسط QueryBuilder ایجاد کردم و کدهای تشکیل دهنده اون مطابق زیر است:

UPDATE tblTool
SET tblToolQTY = ?
WHERE (tblToolID = ?)


حالا سوال اینه که در قسمت WHERE باید عدد رو از کاربر بگیره و زمانی که ExecuteQuery رو میزنم و پارامترها رو بهش معرفی میکنم رکورد مورد نظر Update نمیشه ولی اگر شرط رو بصورت (WHERE (tblToolID =1 بنویسم برنامه رکورد رو Update میکنه. مشکل از کجاست؟

ممنون

mmbguide
جمعه 13 اسفند 1395, 15:30 عصر
دوستان اصلا مشکلی که الان متوجه شدم اینه هر Update Query که میسازم به جداول دیگه ارجاع میشه. مثلا از محیط طراحی DataSet وقتی Preview Data رو اجرا میکنم در لیست Queryها چیز دیگه ای انتخاب شده و اصلا Update Queryهایی که ساختم در لیست موجود نیست در حالی که در TableAdapter دیده میشه و کدهای اون هم در DataSet Designer موجوده.

Mahmoud.Afrad
جمعه 13 اسفند 1395, 19:47 عصر
هر دو نام پارامترها رو علامت سوال گذاشتید ولی باید دو نام متفاوت باشند.
UPDATE tblTool
SET tblToolQTY = @QTY
WHERE (tblToolID = @ToolID)
Preview Data هم برای تست سلکت هست.

mmbguide
جمعه 13 اسفند 1395, 21:26 عصر
یادم رفت بگم بانک اطلاعاتی من Access هستش. با این Query چندین فیلد بروزرسانی میشن و مقابل همه اون ها علامت سوال (؟) قرار دادم و با توضیحاتی که دادم تمام اونها Update میشن و فقط مشکل سر WHERE هستش. علامت @ که بذارم برنامه خطا میده.

mmbguide
جمعه 13 اسفند 1395, 21:54 عصر
کد زیر جواب داده:


UPDATE tblTool
? = SET tblToolQTY = ?, tblToolUseableQTY = ?, tblToolUnuesableQTY
(? = WHERE (tblToolID

متوجه اشتباهم شدم. در Property خود Query برای اینکه مقدار WHERE رو به عنوان پارامتر اول در تابع خودم قرار بدم، به ابتدای لیست جابجا کردمش و الان که به انتهای لیست بردم و مقدار اون رو به عنوان پارامتر آخر در تابع مشخص کردم درست کار کرد.


تشکر