PDA

View Full Version : مشکل در آپدیت



komeil64
چهارشنبه 18 بهمن 1385, 14:36 عصر
سلام
این کد رو برای آپدیت نوشتم
اما هیچ رکوردی رو آپدیت نمی کنه یعنی آی دی رو مساوی خودش نمی بینه که آپدیت بکنه
در ضمن آی دی ور هم از request.querystring می گیرم


string numid2 = Request.QueryString["ID"].ToString() ;
string FilePath7;
FilePath7 = MapPath("~/App_Data/db.mdb");
OleDbConnection odcon7 = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + FilePath7);
odcon7.Open();
OleDbDataAdapter oled7 = new OleDbDataAdapter("select * from tblbook", odcon7);
OleDbCommand olecom7 = new OleDbCommand("UPDATE tblbook SET name='" + TextBox1.Text + "', writer='" + TextBox2.Text +
"', ent='" + TextBox3.Text + "', shomaregan='" + TextBox4.Text + "', isbn='" + TextBox5.Text + "', price='" + TextBox6.Text +
"', body='" + TextBox7.Text + "', imageadd='" + TextBox8.Text + "', zaban='" + TextBox9.Text + "' WHERE ID="+numid2+"", odcon7);
olecom7.ExecuteNonQuery();
odcon7.Close();

komeil64
چهارشنبه 18 بهمن 1385, 15:17 عصر
به نظرتون مشکل از کجاست؟

reza_rad
چهارشنبه 18 بهمن 1385, 15:23 عصر
تریس کن ببین مقدار ID که از کوئری استرینگ میگیره درسته؟

komeil64
چهارشنبه 18 بهمن 1385, 15:32 عصر
سلام
بله درسته همون آی دیه که رکوست شده

reza_rad
چهارشنبه 18 بهمن 1385, 15:38 عصر
حالا با یه کوئری چک کن رکوردی با این آی دی وجود داره توی دیتابیس؟
می تونی جمله Update رو هم موقع تریس کپی کنی و توی بانک چک کنی ببینی مشکل چیه.

komeil64
چهارشنبه 18 بهمن 1385, 15:42 عصر
سلام
خب رکورد که هست
فکر می کنم چون مقدار کوئری استرینگم رشته ایه پیدا نمی کنه!
اما بازم نمیشه

reza_rad
چهارشنبه 18 بهمن 1385, 16:08 عصر
فکر می کنم چون مقدار کوئری استرینگم رشته ایه پیدا نمی کنه!
اما بازم نمیشه


یعنی چی؟!

خب شما جمله ی آپدیت رو که موقع تریس ایجاد شده کپی کن و ببر روی بانک تست کن همون جایی که کوئری ها رو اجرا می کنی توی اکسس.
معلوم میشه مشکل کجاست.

komeil64
چهارشنبه 18 بهمن 1385, 16:52 عصر
سلام
این مقداریه که به اکسس میره


UPDATE tblbook SET name='fجاوتز', writer='نوروزی', ent='نص', shomaregan='2000', isbn='4564-5456', price='5000', body='میکروبیولوژس', imageadd='', zaban='فارسی' WHERE ID=41

کاملا هم صحیحه
مشکل اینجاست که این صفحه وقتی لود میشه مقادیر آی دیه مثلا 41 رو نشون میده حالا کاربر می تونه توی تکست ها تغییراتی رو بده تکت ها تغییر می کنه اما وقتی آپدیت رو میزنه همون مقدایر اولیه تکست ها که از دیتا بیس واردشون شده بود ثبت می کنه
مثلا اگر من قیمت رو به 6000 تغییر بدم توی تکست تغییر می کنه ولی بعد از زدن آپدیت همون 4000 اولیه ثبت میشه

komeil64
چهارشنبه 18 بهمن 1385, 19:53 عصر
چرا تغییرات تکست ها اعمال نمیشه؟

komeil64
پنج شنبه 19 بهمن 1385, 10:22 صبح
کسی نمیدونه؟
مقدار تکست ها راهم که عوض می کنم دوباره همون مقدار اولیه رو می ریزه؟؟؟؟

amir.NET2
پنج شنبه 19 بهمن 1385, 10:31 صبح
اگه اطلاعات رو موقع لود شدن Page از DataBase می گیرید

مشکل شما :

موقع تایید برای ارسال اطلاعات به پایگاه داده همان اطلاعات قبلی ثبت می شود

راه حل شما :

کدی را که در Page_load نوشته اید را در بین دو کروشه زیر بگذارید درست میشه



if(!IsPostback)
{
}

monster_ant
پنج شنبه 19 بهمن 1385, 10:40 صبح
enableviewstate تکست باکس و parentرا true کن... ببین جواب می ده

komeil64
پنج شنبه 19 بهمن 1385, 10:51 صبح
سلام
ممنون با ispostback درست شد