PDA

View Full Version : سوال: وارد کردن عدد به صورت دستی و اضافه شدن در دفعات بعد به صورت اتوماتیک



pooya_friend
یک شنبه 13 آبان 1397, 00:32 صبح
آیا راهی هست که بشه مقدار اولیه ردیف را دتی وارد کرد مثلا ۹۰۰۰ و دفعات بعد که وارد فرم شدیم +۱ افزایش پیدا کنه و بشه 9001 الی ...؟

shahryari
یک شنبه 13 آبان 1397, 11:27 صبح
سلام بله راهی هست!!
عدد اولیه رو یجا ذخیره کن در هر بار ورود عددو بخون + 1 کن و دوباره ذخیره کن

pooya_friend
دوشنبه 14 آبان 1397, 12:02 عصر
ممنون که پاسخ دادید.آیا میتونید یه مثال بیارید؟دفعه اول مقدار تکست باکس یه عدد میدم و داخل دیتابیس ذخیره میشه دفعات بعد +۱ افزایش پیدا میکنه و تکست باکس دفعه بعد ReadOnly‌بشه.

davidrobert
دوشنبه 14 آبان 1397, 12:34 عصر
ممنون که پاسخ دادید.آیا میتونید یه مثال بیارید؟دفعه اول مقدار تکست باکس یه عدد میدم و داخل دیتابیس ذخیره میشه دفعات بعد +۱ افزایش پیدا میکنه و تکست باکس دفعه بعد ReadOnly‌بشه.

بله ابتدا باید تو کوئری به این صورت عمل کنید.

SELECT MAX(S_Shomare_Sanad) AS S_Shomare_Sanad
FROM Tbl_Sanad

و در قسمت دوم بیاد دستورات سی شارپ به این صورت بنویسید.

public string newID()
{
string Atcnt;
con.Open();
cmd.CommandType=CommandType.Text;
cmd.CommandText = "select max(ID) from Tbl_Moshtere";
cmd.Connection = con;
Atcnt = Convert.ToString(cmd.ExecuteScalar());
con.Close();
return Atcnt;
}

این دستور باعث میشه اگه هر عدد بزرگ بود یا اگه عددی نبود پیش فرض 1 قرار میدیم یا هر عددی من یک قرار دادم و بعد اون هر عدد بزرگتر ببینه بزرگتر ار اون یکی اضافه میکنه.

void NewID()
{
TxtId.Text = "";
int NewId = 1;
string strnewid = " ";
object obj = bigNumber.newID();
if (obj.ToString() != "")
{
NewId = Convert.ToInt32(obj.ToString()) + 1;
strnewid = NewId.ToString();
strnewid = strnewid.PadLeft(1, '0');
TxtId.Text = strnewid;
}
else
{
TxtId.Text = "1";
}
}

pooya_friend
دوشنبه 14 آبان 1397, 12:36 عصر
من از Entity Framework‌استفاده کردم.مثال شما برای Ado است

davidrobert
دوشنبه 14 آبان 1397, 12:42 عصر
من از Entity Framework‌استفاده کردم.مثال شما برای Ado است

با EF

void BigCodeGotoBandeKala()
{
try
{
if (db.Tbl_Code_Goro_Bande_kala.Select(f => f.CGBK_Code_Daste_Bande_Kala).Count() != 0)
{
double max = db.Tbl_Code_Goro_Bande_kala.Select(d => d.CGBK_Code_Daste_Bande_Kala).Max();
var invo = max;
var newvi = invo + 1;
TxtCodeGoroBandeKala.Text = newvi.ToString();
}
else
{
TxtCodeGoroBandeKala.Text = 10.ToString();
}
}
catch (Exception ex)
{
ClsError.show(102, "128 \n" + ex.Message, "");
}
}

pooya_friend
دوشنبه 14 آبان 1397, 13:07 عصر
با EF

void BigCodeGotoBandeKala()
{
try
{
if (db.Tbl_Code_Goro_Bande_kala.Select(f => f.CGBK_Code_Daste_Bande_Kala).Count() != 0)
{
double max = db.Tbl_Code_Goro_Bande_kala.Select(d => d.CGBK_Code_Daste_Bande_Kala).Max();
var invo = max;
var newvi = invo + 1;
TxtCodeGoroBandeKala.Text = newvi.ToString();
}
else
{
TxtCodeGoroBandeKala.Text = 10.ToString();
}
}
catch (Exception ex)
{
ClsError.show(102, "128 \n" + ex.Message, "");
}
}


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