PDA

View Full Version : edit data base



love_m69
پنج شنبه 07 دی 1391, 00:27 صبح
وقتی اطلاعات جدول رو تو text box ها نمایش می دم می خوام ویرایش کنم و دوباره ذخیره کنم. وقتی تغییر دادم و می خوام ذخیره کنم مگه مقادیر شما در جدول موجود هست دوباره امتحان کنید. باید چیکار کنم؟

mortezasar
پنج شنبه 07 دی 1391, 00:51 صبح
سلام دوست عزیز لطفا کدت رو بذار تا ببینم جریان چیه ؟

mousa1992
پنج شنبه 07 دی 1391, 01:00 صبح
سلام دوست عزیر این خطا فقط در صورتی رخ میده که شما فیلد کلید رو بخواین دوباره ذخیره کنین
در دستور update سعی نکن مقدار کلید رو تغییر بدی ( ینی اصلا ارسالش نکن :D )
موفق باشی

love_m69
پنج شنبه 07 دی 1391, 01:01 صبح
کدم زیاده. وقتی اطلاعاتی رو تغییر دادم و میخوام دوباره ذخیرش کنم می گه فیلدی که شما می خوای ذخیره کنی تو بانک هست و میگه کلید اصلیش تکراری هست برای تغییر باید شماره دانش آموزی رو تغییر دهید و قتی شماره رو تغیر بدم یه فیلد جدید ایجاد مشه و فیلد قبلی هم وجود داره

love_m69
پنج شنبه 07 دی 1391, 01:07 صبح
اگه این کارو انجام بدم موقع ذخیره می گه که فیلد کلیداصلیتان خالی است و خطا می گیره

mousa1992
پنج شنبه 07 دی 1391, 01:16 صبح
خب دوست عزیز الان دیگه لازم شد که کدتونو بذارید ببینیم
نیاز نیست همه کدو قرار بدید فقط کوئری رو بذارید

love_m69
پنج شنبه 07 دی 1391, 01:20 صبح
OleDbCommand com = new OleDbCommand();
com.CommandText = "insert into student(idnumber,idennumber,shnumber,name,family,s ex,fathername,rissuance,digree,savedate,titleteach ,homephone,mobilephone,mailaddress,address) values(@idnumber,@idennumber,@shnumber,@name,@fami ly,@sex,@fathername,@rissuance,@digree,@savedate,@ titleteach,@homephone,@mobilephone,@mailaddress,@a ddress)";
com.Parameters.AddWithValue("@idnumber", idnumber);
com.Parameters.AddWithValue("@idennumber", idnumber);
com.Parameters.AddWithValue("@shnumber", shnumber);
com.Parameters.AddWithValue("@name", name);
com.Parameters.AddWithValue("@family", family);
com.Parameters.AddWithValue("@sex", sex);
com.Parameters.AddWithValue("@fathername", fathername);
com.Parameters.AddWithValue("@rissuance", Rissuance);
com.Parameters.AddWithValue("@digree", digree);
com.Parameters.AddWithValue("@savedate", savedate);
com.Parameters.AddWithValue("@titleteach", titleteach);
com.Parameters.AddWithValue("@homephone", homephone);
com.Parameters.AddWithValue("@mobilephone", mobilephone);
com.Parameters.AddWithValue("@mailaddress", mailaddress);
com.Parameters.AddWithValue("@address", address);
dataaccess da = new dataaccess();
da.connect();
da.command(com);
da.disconnect();
}
برای درج هست

mousa1992
پنج شنبه 07 دی 1391, 01:30 صبح
برای درج هست برا اپدیت کردن مشکل داشتی!
خب کدوم فیلد رو کلید اصلی تعریف کردی ؟ ایا فیلدی رو به صورت Identity تعریف کردید؟

love_m69
پنج شنبه 07 دی 1391, 01:38 صبح
کلید اصلی idnumber هست, منظورت از identity چیه؟

mousa1992
پنج شنبه 07 دی 1391, 02:15 صبح
دوست عزیز معذرت که دیر جواب میدم
خب کوئری insert با این تفاسیر مشکلی نداره
منظور از identity : خاصیتی هست که برای فیلد عددی تعیین میشه و دیگه نیازی نیست که به اون فیلد دستی مقدار دهی کنید و برا ذخیره رکورد اسمی ازش برده نمیشه و خود dbms بهش مقدار دهی میکنه که برا فیلد های کلی اصلی کاربرد داره
کد مربوط به ویرایش رو قرار بدید