PDA

View Full Version : مشکل ایم کد کجاست



andaron
یک شنبه 24 بهمن 1389, 18:36 عصر
با سلام

برنامه ای که من دارم برای اینکه یک کتاب جدید وارد برنامه کتم نیازمند آخرین id هون هستم حالا تونستم با نیم کد آخرین id رو بدست بیاورد




private void aa()
{
DataTable dt = cs_ranande.maxid();
DataView dv = new DataView(dt);
txt_car_ranande_id.DataBindings.Clear();
txt_car_ranande_id.Text = "";
txt_car_ranande_id.DataBindings.Add("text", dv, "ranande_id");




}


من این تابع رو در فرم لود می گذارم و به درستی آخرین id رو در textbox قرار می دهد فقط مشکلی اینجاست که من می خوام وقتی فرم لود شد آخرین id رو یک واحد افزایش بده که برای اینکار از کد زیر استفاده کردم



txt_car_ranande_id.Text = Convert.ToString(Convert.ToInt32(txt_car_ranande_i d.Text) + 1);




و اما این کد ارور میده و میگه که خاصیت text مال textbox خالی هستش در صورتی که تا فرم لود میشه آخرین id رو نشون میده یعنی اینکه من می خوام تا فرم لود شده آخرین id یک واحد افزایش پیدا کنه
با تشکر

f4rib0rz
دوشنبه 25 بهمن 1389, 12:26 عصر
خب تو همون فرم لود به جای اینکه مقدار اخرین رو بزاری واسه تکست باکس مقدار اخرین ای دی رو بزار تو یه متغر بعد یه واحد بهش اضافه کن . اون وقت هر جا خواستی استفاده کن .

andaron
دوشنبه 25 بهمن 1389, 12:38 عصر
ممنون دوست عزیز
ولی مشکل اینجاست که بلد نیستم اون فیلد جدول رو بزارم تو یه متغیر

Reza_Yarahmadi
دوشنبه 25 بهمن 1389, 16:06 عصر
در صورتي كه آخرين ركورد بيشترين ID رو داشته باشه ميتونيد بصورت زير عمل كنيد.

txt_car_ranande_id.Text = (Convert.ToInt32(dv[dv.Count - 1]["ID"]) + 1).ToString();
اگر هم فقط ميخوايد آخرين ID رو از ديتابيس بخونيد نيازي نيست كل جدول خونده بشه ، با دستور MAX بيشترين Id رو بخونيد و ....