اذهب إلى المحتوى
  • 0

التحقق من البيانات قبل إرسالها إلى قاعدة البيانات

نايف الحربي2

السؤال

السلام عليكم ورحمة الله وبركاته وبعد :-

لدي كود استيراد بيانات موظفين من داتا قريد فيو إلى قاعدة بيانات sqlserver والذي أريده أن يتحقق من بيانات الموظفين قبل إرسالها إلى قاعدة بيانات هل هي موجودة أم لا حتى لا تتكرر في قاعدة البيانات مع العلم أنني وضعت حقل IdSijelMadni هو الحقل الذي لا تتكرر فيه البيانات (مفتاح أساسي)
وهذا هو الكود الذي استخدمه لإستيراد البيانات من الداتا قريد فيو إلى قاعدة البيانات 

 

CmdServer.CommandType = CommandType.Text;
CmdServer.Connection = SqlConServer;
for (int ii = 0; ii < dataGridView1.Rows.Count - 1; ii++)
{
CmdServer.CommandText = "insert into TB_Techar ([IdSijelMadni],[NameFirst],[NameFather],[NameGrandFather],[NameFamely],[Job],[Takss],[Mobile],,[IdSchoolWazara]) values('" + dataGridView1.Rows[ii].Cells[0].Value + "','" + dataGridView1.Rows[ii].Cells[1].Value + "','" + dataGridView1.Rows[ii].Cells[2].Value + "','" + dataGridView1.Rows[ii].Cells[3].Value + "','" + dataGridView1.Rows[ii].Cells[4].Value + "','" + dataGridView1.Rows[ii].Cells[5].Value + "','" + dataGridView1.Rows[ii].Cells[6].Value + "','" + dataGridView1.Rows[ii].Cells[7].Value + "','" + dataGridView1.Rows[ii].Cells[8].Value + "','" + dataGridView1.Rows[ii].Cells[9].Value + "') ";
SqlConServer.Open();
CmdServer.ExecuteNonQuery();
SqlConServer.Close();
}

MessageBox.Show("تم الحفظ بنجاح", "تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

وعليكم السلام ورحمة الله.

يجب ان يكون هناك شرط لعدم التكرار!

في الجملة السابقة اذا كان ادخال حقل Id معرف ك Primary Key وموجود مسبقاً فإن حلقة التكرار سوف تصدر خطأ بذلك، يمكنك وضع الكود الموجود داخل حقلة التكرار ضمن try catch وتسجيل السجلات التي تكرر ضمن جملة catch

لكن اذا اعتمدت على رقم الجوال مثلا في عدم التكرار، فأنت بحاجة للتأكد من عدم وجود هذا الحقل مسبقاً في قاعدة البيانات، وذلك بعمل جملة select لجلب البيانات بنفس رقم الجوال الحالي، وفي حال عدم وجوده تقوم بإدخال لقاعدة البيانات، او تظهر رسالة للمستخدم تفيد بوجود هذا السجل مسبقاً.

ذكرت لك التفاصيل السابقة، لان حقل IdSijelMadni اذا كان حقل تلقائي يأخذ قيمة عشوائية، فانه لن يفيدك بتتبع عملية التكرار، لكن لو كان هذا الرقم هو الرقم الشخصي او رقم البطاقة مثلا، يمكنك عمل الخطوة الثانية (وهي التأكد من وجود السجل برقم الجوال) واستبدال رقم الجوال بهذا الرقم الشخصي.

 

بالتوفيق،،،

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...