View Full Version : سوال: وارد کردن عدد به صورت دستی و اضافه شدن در دفعات بعد به صورت اتوماتیک
pooya_friend
یک شنبه 13 آبان 1397, 01:32 صبح
آیا راهی هست که بشه مقدار اولیه ردیف را دتی وارد کرد مثلا ۹۰۰۰ و دفعات بعد که وارد فرم شدیم +۱ افزایش پیدا کنه و بشه 9001 الی ...؟
shahryari
یک شنبه 13 آبان 1397, 12:27 عصر
سلام بله راهی هست!!
عدد اولیه رو یجا ذخیره کن در هر بار ورود عددو بخون + 1 کن و دوباره ذخیره کن
pooya_friend
دوشنبه 14 آبان 1397, 13:02 عصر
ممنون که پاسخ دادید.آیا میتونید یه مثال بیارید؟دفعه اول مقدار تکست باکس یه عدد میدم و داخل دیتابیس ذخیره میشه دفعات بعد +۱ افزایش پیدا میکنه و تکست باکس دفعه بعد ReadOnlyبشه.
davidrobert
دوشنبه 14 آبان 1397, 13: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, 13:36 عصر
من از Entity Frameworkاستفاده کردم.مثال شما برای Ado است
davidrobert
دوشنبه 14 آبان 1397, 13: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, 14: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, "");
}
}
ممنون از شما دوست عزیز. تست میکنم جواب همینجا میزارم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.