19-06-20, 02:02 AM
السلام عليكم و رحمة الله و بركاته
الاخ علي عند الاطلاع على مثالك الكود يعمل
هو يعود بعدد السجلات للسنة المحددة (السنة المحددة في الكود هي 1436) و عددها 3 سجلات
و عند تغير السنة الى 1437 يعود باربع سجلات (و هي الموجودة في القاعدة)
و في حال مررنا 1438 كسنة جديدة سيعود لنا بالرقم 1 اي ان هناك سجل واحد للسنة الجديدة و مرد ذلك , بالنظر الى الكود نرى اننا ارجعنا الرقم واحد عند عدم وجود سجلات لذا وجب تغيره الى الرقم صفر كما يلي :
الاصلاح في هذه الجزئية فقط
الاخ علي عند الاطلاع على مثالك الكود يعمل
هو يعود بعدد السجلات للسنة المحددة (السنة المحددة في الكود هي 1436) و عددها 3 سجلات
و عند تغير السنة الى 1437 يعود باربع سجلات (و هي الموجودة في القاعدة)
و في حال مررنا 1438 كسنة جديدة سيعود لنا بالرقم 1 اي ان هناك سجل واحد للسنة الجديدة و مرد ذلك , بالنظر الى الكود نرى اننا ارجعنا الرقم واحد عند عدم وجود سجلات لذا وجب تغيره الى الرقم صفر كما يلي :
PHP كود :
public int GetMaxHijriID(int hijriYear)
{
try
{
object maxHijriID = null;
using (OleDbCommand comm = new OleDbCommand("SELECT MAX([HijriID]) FROM [tbl] WHERE [HijriYear] = @HijriYear ", con))
{
comm.Parameters.AddWithValue("@HijriYear", hijriYear);
con.Open();
maxHijriID = comm.ExecuteScalar();
con.Close();
}
maxHijriID = (maxHijriID.GetType() == typeof(System.DBNull)) ? 0 : maxHijriID;
return int.Parse(Convert.ToString(maxHijriID));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return -1;
}
}
PHP كود :
maxHijriID = (maxHijriID.GetType() == typeof(System.DBNull)) ? 0 : maxHijriID;
و عند الاستدعاء ستزيد بمقدار واحد لكل سجل جديد
كما يلي:
PHP كود :
private void Button1_Click(object sender, EventArgs e)
{
int Idnt = cll.GetMaxHijriID(1438)+1;
MessageBox.Show(Idnt.ToString());
}
غير ذلك انا لا ارى مشكلة في الكود
الا اذا كان طلبك شيئ مغاير لما فهمته؟؟
حاول ان تقرأ الكود و تتعلم منه
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


