چرا QueryBuilder پارامتر رو قبول نمی کنه؟
سلام
یک Query توسط QueryBuilder ایجاد کردم و کدهای تشکیل دهنده اون مطابق زیر است:
UPDATE tblTool
SET tblToolQTY = ?
WHERE (tblToolID = ?)
حالا سوال اینه که در قسمت WHERE باید عدد رو از کاربر بگیره و زمانی که ExecuteQuery رو میزنم و پارامترها رو بهش معرفی میکنم رکورد مورد نظر Update نمیشه ولی اگر شرط رو بصورت (WHERE (tblToolID =1 بنویسم برنامه رکورد رو Update میکنه. مشکل از کجاست؟
ممنون
نقل قول: چرا QueryBuilder پارامتر رو قبول نمی کنه؟
دوستان اصلا مشکلی که الان متوجه شدم اینه هر Update Query که میسازم به جداول دیگه ارجاع میشه. مثلا از محیط طراحی DataSet وقتی Preview Data رو اجرا میکنم در لیست Queryها چیز دیگه ای انتخاب شده و اصلا Update Queryهایی که ساختم در لیست موجود نیست در حالی که در TableAdapter دیده میشه و کدهای اون هم در DataSet Designer موجوده.
نقل قول: چرا QueryBuilder پارامتر رو قبول نمی کنه؟
هر دو نام پارامترها رو علامت سوال گذاشتید ولی باید دو نام متفاوت باشند.
UPDATE tblTool
SET tblToolQTY = @QTY
WHERE (tblToolID = @ToolID)
Preview Data هم برای تست سلکت هست.
نقل قول: چرا QueryBuilder پارامتر رو قبول نمی کنه؟
یادم رفت بگم بانک اطلاعاتی من Access هستش. با این Query چندین فیلد بروزرسانی میشن و مقابل همه اون ها علامت سوال (؟) قرار دادم و با توضیحاتی که دادم تمام اونها Update میشن و فقط مشکل سر WHERE هستش. علامت @ که بذارم برنامه خطا میده.
نقل قول: چرا QueryBuilder پارامتر رو قبول نمی کنه؟
کد زیر جواب داده:
UPDATE tblTool
? = SET tblToolQTY = ?, tblToolUseableQTY = ?, tblToolUnuesableQTY
(? = WHERE (tblToolID
متوجه اشتباهم شدم. در Property خود Query برای اینکه مقدار WHERE رو به عنوان پارامتر اول در تابع خودم قرار بدم، به ابتدای لیست جابجا کردمش و الان که به انتهای لیست بردم و مقدار اون رو به عنوان پارامتر آخر در تابع مشخص کردم درست کار کرد.
تشکر