الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لماذا يظهر هذا الخطأ في DataRow

بدأه Tage في 3 مارس 2012 · 6 رد · 866 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخواني اتمنى احد يفيدني في الموضوع دا صار لي فترة احاول فيه ولكن لا اعلم لماذا تظهر هذه الرسالة..

SqlConnection sqlconn1 = new SqlConnection(connstr);

string commandString = "SELECT * FROM TableName";

SqlDataAdapter adapter = new SqlDataAdapter(commandString, sqlconn1);

System.Data.DataSet ds = new System.Data.DataSet();

System.Data.DataTable dt = new System.Data.DataTable();

System.Data.DataRow row= new System.Data.DataRow(); الخطا يظهر هنا<<(System.Data.DataRowBuilder)' is inaccessible due to its protection level

row = dt.NewRow();

dt = ds.Tables["TableName"];

sqlconn1.Open();

row = ds.Tables["TableName"].NewRow();

totalRec = dt.Rows.Count;

curRec = totalRec - 1;

row = dt.Rows[curRec];

row["col1"] = totalRec;

row["col2"] = TchName.Text;

row["col3"] = Tchpass.Text;

ds.Tables["TableName"].Rows.Add(row);

ds.AcceptChanges();

adapter.Update(ds, "TableName");

sqlconn1.Close();

لماذا لا يقبل تعريف DataRow؟

#3

اشكرك اخي على سرعة الرد..

فعلا اختفت الرسالة ولكن ظهرت غيرها !!

عند row = dt.NewRow();

ظهر التالي..Object reference not set to an instance of an object.

تم تعديل هذه المشاركة بواسطة Tage في 4 مارس 2012 في 00:09

#4

ازل كلي سطر الخطا السابق والحالي واستبدله بهذا

System.Data.DataRow row=dt.NewRow();
1
#5

لقد فعلت ذلك مسبقا فعلا..ونفس النتيجة..

#6

ضع السطر :

System.Data.DataRow row=dt.NewRow();

بعد :

dt = ds.Tables["TableName"];

بمعنى يكون الكود هكذا :

dt = ds.Tables["TableName"];
System.Data.DataRow row=dt.NewRow();

ﻷن المشكلة لديك DataTable لم يتم تعين أعمدة فيها بعد, لذا لا يمكن انشاء صف جديد من دون انشاء الاعمدة

تم تعديل هذه المشاركة بواسطة SamCode في 4 مارس 2012 في 15:51

1
#7

بالفعل اخي ..

وكذلك الغاء سطر انشاء Object من DataRow لانه لا يمكن انشاء سطر جديد بهذه الطريقة..

وانما يجب انشاء سطر جديد من نسخة من الجدول..

System.Data.DataRow  row = dt.NewRow();

شكرا جزيلا لك اخي وللجميع ..

مواضيع مشابهة