PDA

View Full Version : بازیابی آخرین فیلد بانک اطلاعاتی و افت سرعت



Mansoor92
دوشنبه 11 آذر 1392, 19:38 عصر
سلام

من میخوام وقتی یک فرم رو لود کردم توی یکی از تکسباکس هاش که کد مربوط به مشتری هست آی دی آخرین فیلد بانک اطلاعتی رو به علاوه یک کنه اونو توی تکسباکس قرار بده...
من برای این کار از کد زیر استفاده کردم اما خیلی زمان میبره تا فرم لود بشه حدود15 ثانیه!!



private void frm_customer_Load(object sender, EventArgs e)
{
var q = db.tbl_Customer.Max(c => c.Id);
var s = q + 1;
textBox1.Text = s.ToString();
}


آیا راحل بهتری برای این کار هست ؟؟

ممنونم ازتون

یاعلی

Saeed-CANcel
دوشنبه 11 آذر 1392, 19:51 عصر
وقتی می خوای فرم رو فراخوانی کنی تا به نمایش در بیاد کد آخرین مشتری رو بگیر و تو تکست باس فرمت بذار...
واسه این کار هم تکست باکست رو از نوع عمومی تعریف کن...
اینجوری همزمان با لود فرمت این کار انجام میشه نه در زمان لود شدن فرم

Mansoor92
دوشنبه 11 آذر 1392, 20:12 عصر
وقتی می خوای فرم رو فراخوانی کنی تا به نمایش در بیاد کد آخرین مشتری رو بگیر و تو تکست باس فرمت بذار...
واسه این کار هم تکست باکست رو از نوع عمومی تعریف کن...
اینجوری همزمان با لود فرمت این کار انجام میشه نه در زمان لود شدن فرم

سلام

ممنونم که جواب دادید

این کارو کردم و به شکل زیر کد هام رو نوشتم
اما همون قدر طول میکشه


var q = db.tbl_Customer.Max(c => c.Id);
var s = q + 1;
frm_customer frm = new frm_customer();
frm.textBox1.Text = s.ToString();
frm.ShowDialog();

rahnema1
دوشنبه 11 آذر 1392, 22:36 عصر
اگه هدفتون پیدا کردن مقدار آخرین رکورد از فیلد id هست با فرض اینکه اندکس فیلد id برابر با صفر باشه یعنی اولین فیلد باشه شاید این کد جواب بده


var q = db.tbl_Customer.AsEnumerable().LastOrDefault().Ite mArray[0];

samin_panahi
دوشنبه 11 آذر 1392, 22:48 عصر
تو رویداد فرم لود اینجوری بنویس:




da.SelectCommand = new SqlCommand("SELECT MAX(ID) as ID FROM Customer", con);
da.Fill(ds, "Customer");
int test = int.Parse(string.Format("{0}", ds.Tables["Customer"].Rows[0]["ID"]));
textBox1.Text.Text = (test + 1).ToString();



da دیتاآداپتر هست
ds هم دیتاست

مهرداد صفا
سه شنبه 12 آذر 1392, 08:18 صبح
با سلام.


decimal LastId = db.ExecuteStoreQuery<decimal>("SELECT IDENT_CURRENT('MyTable')", null).Single();