PDA

View Full Version : سوال: خطا در اجرای کوئری آپدیت و دیلیت



javadamiri
دوشنبه 08 آذر 1389, 12:59 عصر
سلام.
من یه کوئری دارم که قراره یه مقادیری رو بروزرسانی کنه؛ دیتابیسم هم اکسس هست و یه فیلد به نام آی دی که اتو نامبر هست. تو پروژه وقتی که یه عددی از کاربر گرفته میشه کوئری با این عدد باید عمل بروزرسانی رو انجام بده ولی این ارور رو میده :
data type mismatch
عددی هم که از کاربر میگیره رو به اینت تبدیل کردم ولی همین شد.

mohsen_f_b
دوشنبه 08 آذر 1389, 14:33 عصر
باسلام

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

موفق و پیروز باشید

taghi.km
دوشنبه 08 آذر 1389, 14:43 عصر
data type mismatch فقط به خاطر یکی نبودن نوع فیلد ها هست

javadamiri
دوشنبه 08 آذر 1389, 19:18 عصر
db_conn.Open();
da.UpdateCommand = new OleDbCommand();
da.UpdateCommand.Connection = db_conn;
da.UpdateCommand.CommandText = "UPDATE [tbl_our] SET [type]='" + ddl_type.SelectedItem.Value.ToString() + "',[co]='" + tbx_co.Text + "',[moshakhasat]='" + tbx_mosat.Text + "',[pic]='" + "uploads/images/" + newname.ToString() + "' WHERE [ID]='" + tbx_id.Text + "'";
da.UpdateCommand.ExecuteNonQuery();
db_conn.Close();


عدد ورودی رو هم به اینت تبدیل کردم بازم همون شد.

Y2K
دوشنبه 08 آذر 1389, 20:00 عصر
به نظر میاد در شرط دو طرف ID کاراکتر ' گذاشتین

اینجوری بنویسید


"UPDATE [tbl_our] SET [type]='" + ddl_type.SelectedItem.Value.ToString() + "',[co]='" + tbx_co.Text + "',[moshakhasat]='" + tbx_mosat.Text + "',[pic]='" + "uploads/images/" + newname.ToString() + "' WHERE [ID]=" + tbx_id.Text ;

همچنین اگر فیلد type هم از نوع اینتجر می باشد، کاراکترهای ' را از دو طرف آن بردارید