۰۴-فروردین-۱۳۸۸, ۱۴:۳۷:۴۵
سلام دوستان
من دارم یه فرم درست می کنم برای ثبت نام دانشگاه.می خوام موقع ثبت نام وقتی کاربردکمه ی ثبت نام را زد در مقابل فیلد userName ،شماره ی دانشجویی از قبل توسط برنامه تولید شده باشه(شماره دانشجویی به عنوان userName در نظر گرفته شده) و فقط کاربر فیلد های دیگر را پر کند.
از آنجایی که شماره دانشجویی هر دانشجو طبق فرمت خاصی نوشته میشه ،می خواستم با توجه به سال ورود دانشجو ،دو رقم اولش با آن شروع شود.
ولی مشکلم از آنجا شروع شد که در #C ،کلاس DATETIME ،تاریخ را به صورت میلادی می دهد.
تو این کدی که من نوشتم ،هر بار آخرین شماره ی دانشجویی خوانده می شود و یکی به آن اضافه می شود.من با فرمول های ریاضی تونستم سال شمسی را درس کنم ولی چون زمان تغییر سال شمسی و میلادی یکی نیست بعدا با مشکل روبرو می شوم.
اگر کسی می تونه در این رابطه به من کمک کنه ،لطفا نظرشو بگه.
من دارم یه فرم درست می کنم برای ثبت نام دانشگاه.می خوام موقع ثبت نام وقتی کاربردکمه ی ثبت نام را زد در مقابل فیلد userName ،شماره ی دانشجویی از قبل توسط برنامه تولید شده باشه(شماره دانشجویی به عنوان userName در نظر گرفته شده) و فقط کاربر فیلد های دیگر را پر کند.
از آنجایی که شماره دانشجویی هر دانشجو طبق فرمت خاصی نوشته میشه ،می خواستم با توجه به سال ورود دانشجو ،دو رقم اولش با آن شروع شود.
ولی مشکلم از آنجا شروع شد که در #C ،کلاس DATETIME ،تاریخ را به صورت میلادی می دهد.
تو این کدی که من نوشتم ،هر بار آخرین شماره ی دانشجویی خوانده می شود و یکی به آن اضافه می شود.من با فرمول های ریاضی تونستم سال شمسی را درس کنم ولی چون زمان تغییر سال شمسی و میلادی یکی نیست بعدا با مشکل روبرو می شوم.
اگر کسی می تونه در این رابطه به من کمک کنه ،لطفا نظرشو بگه.
کد:
date = DateTime.Now;
sql_comm.CommandText = "select MAX(userName_as_stdNum)" +
"from Tbl_student_register ";
sql_conn.Open();
object maxID = sql_comm.ExecuteScalar();
if (maxID == DBNull.Value)
{
intmaxid = ((Convert.ToInt32(date.Year)-621)%1300)*100000 ;
}
else
{
intmaxid = Convert.ToInt32(maxID);
// strid = maxID.ToString ();
//intmaxid = int.Parse(strid.Remove(0, 2));
intmaxid += 1;
}
txtUser.Text = intmaxid.ToString ();
sql_conn.Close();