البرمجة

إدراج بيانات في قاعدة بيانات SQL من خلال صفحة ASP.NET.

لقد وجدت الخطأ الذي تواجهه في الكود الخاص بك. المشكلة تكمن في كيفية الوصول إلى خصائص الكائن MyClass في دالة btnsave_Click. يجب عليك إنشاء كائن من النوع MyClass واستخدام خصائصه لتعيين قيم TransactionId و pnrno. هناك طريقتين للقيام بذلك:

  1. إما عن طريق إنشاء كائن من MyClass داخل دالة btnsave_Click وتعيين قيم خصائصه، وبعدها استخدام قيم تلك الخصائص في استعلام SQL.

  2. أو يمكنك تعيين قيم TransactionId و pnrno لنوع MyClass من خلال الكائن MyClass نفسه الذي قمت بإنشائه في الفئة الرئيسية، ومن ثم استخدام الكائن الذي قمت بتعيين له قيم TransactionId و pnrno في دالة btnsave_Click.

إليك كيفية تنفيذ الخطوتين:

الخطوة 1: إنشاء كائن من MyClass داخل دالة btnsave_Click

csharp
protected void btnsave_Click(object sender, EventArgs e) { MyClass obj = new MyClass(); obj.TransactionID = "قيمة TransactionId"; obj.pnrno = "قيمة pnrno"; SqlConnection con = new SqlConnection(@"Data Source=logistics.jayom.org,1434;Initial Catalog=logistics_kl;User ID=kl_admin;Password=Admin@2222"); SqlCommand cmd = new SqlCommand("insert into testfbhv (TransactionId, pnrno) values('" + obj.TransactionID + "','" + obj.pnrno + "')", con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); }

الخطوة 2: تعيين قيم TransactionId و pnrno لنوع MyClass من خلال الكائن MyClass الذي تم إنشاؤه في الفئة الرئيسية

csharp
class MyClass { public string TransactionID { get; set; } public string pnrno { get; set; } public string trainno { get; set; } public string dateofbooking { get; set; } public string className { get; set; } public string Quota { get; set; } public string text { get; set; } } public partial class YourPageName : System.Web.UI.Page { MyClass obj = new MyClass(); protected void btnsave_Click(object sender, EventArgs e) { obj.TransactionID = "قيمة TransactionId"; obj.pnrno = "قيمة pnrno"; SqlConnection con = new SqlConnection(@"Data Source=logistics.jayom.org,1434;Initial Catalog=logistics_kl;User ID=kl_admin;Password=Admin@2222"); SqlCommand cmd = new SqlCommand("insert into testfbhv (TransactionId, pnrno) values('" + obj.TransactionID + "','" + obj.pnrno + "')", con); con.Open(); cmd.ExecuteNonQuery(); con.Close(); } }

يرجى تغيير “YourPageName” إلى اسم صفحتك الفعليّة. كما يجب عليك استبدال “قيمة TransactionId” و “قيمة pnrno” بالقيم الفعلية التي تريد تخزينها.

المزيد من المعلومات

بالتأكيد، هنا بعض المعلومات الإضافية التي قد تساعدك:

  1. يُفضل دائمًا استخدام بارامترات الاستعلام المُعلم بها في استعلام SQL بدلاً من تضمين القيم مباشرة في الاستعلام. هذا يساعد في تجنب هجمات إدخال البيانات ويزيد من أمان تطبيقك.

  2. يُنصح بفحص اتصال قاعدة البيانات وفتحه وإغلاقه داخل بنية try...catch...finally لضمان إغلاق الاتصال بشكل صحيح في حالة حدوث أي استثناء.

  3. لتجنب مشكلة تسرب الذاكرة، يُفضل استخدام بيانات using عند استخدام كائنات تتطلب تنظيفًا يدويًا، مثل SqlConnection و SqlCommand.

  4. يُمكنك استخدام بارامترات في استعلامك SQL كما يلي:

csharp
SqlCommand cmd = new SqlCommand("insert into testfbhv (TransactionId, pnrno) values(@TransactionId, @pnrno)", con); cmd.Parameters.AddWithValue("@TransactionId", obj.TransactionID); cmd.Parameters.AddWithValue("@pnrno", obj.pnrno);

هذه الإضافات يمكن أن تحسن من أداء تطبيقك وتجعله أكثر أمانًا واستقرارًا.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!