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

سؤال يتعلق في ال ADO.NET

مغلق
بدأه eng_barakat في 27 يناير 2005 · 3 رد · 562 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

السؤال هو يتعلق بالــ

insert

يعني لمن عملت اتصال مع سيكول سيرفر

ورحت منزل الجدول

Region

اللي هو في الداتا بيز

Northwind

ورحت كاتب الكود ده

this.sqlConnection1.Open();
this.sqlDataAdapter1 .Fill (this.dataSet11 );
this.sqlDataAdapter1 .InsertCommand .CommandText = "INSERT INTO Region ( RegionID, RegionDescription ) values ( 5,'yyyyyyyy')";
this.sqlDataAdapter1 .InsertCommand .ExecuteNonQuery ();
this.sqlConnection1.Close();

راح طالع لي الخطأ ده؟؟؟؟

اقتباس
  Prepared statement '(@RegionID int,@RegionDescription nvarchar(50))INSERT INTO Regio' expects parameter @RegionID, which was not supplied.

وهذا الملف هو الملف للتعديل

try2.zip

#2
eng_barakat كتب:
بسم الله الرحمن الرحيم

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

السؤال هو يتعلق بالــ

insert

يعني لمن عملت اتصال مع سيكول سيرفر

ورحت منزل الجدول

Region

اللي هو في الداتا بيز

Northwind

ورحت كاتب  الكود ده

this.sqlConnection1.Open();
this.sqlDataAdapter1 .Fill (this.dataSet11 );
this.sqlDataAdapter1 .InsertCommand .CommandText = "INSERT INTO Region ( RegionID, RegionDescription ) values ( 5,'yyyyyyyy')";
this.sqlDataAdapter1 .InsertCommand .ExecuteNonQuery ();
this.sqlConnection1.Close();

راح طالع لي الخطأ ده؟؟؟؟

وهذا الملف  هو الملف للتعديل

جرب...

this.sqlConnection1.Open();
this.sqlDataAdapter1 .Fill (this.dataSet11 );
this.sqlDataAdapter1 .InsertCommand .CommandText = "INSERT INTO Region ( RegionID, RegionDescription ) values ( 5,'yyyyyyyy')";

this.sqlDataAdapter1 .InsertCommand.Parameters.Add(new sqlparemter("@RegionID",5);

this.sqlDataAdapter1 .InsertCommand.Parameters.Add(new sqlparemter("@RegionDescription","yyyyyyy");

this.sqlDataAdapter1 .InsertCommand .ExecuteNonQuery ();
this.sqlConnection1.Close();
#3

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

راح اجرب الطريقة وارجع لكم خبر

ولكم من يتحية

#4

السلام عليكم

أولا لا احبذ استخدام ال DataAdapter بهذه الطريقة، لانه لم يصمم للاضافة والتعديل من خلال استعداء ال command الذي يحتوي

يمكنك الاضافة بإستخدام SqlComamnd ومن ثم كتابة اي جملة sql وسوف يقوم بتنفيذه، وهو صمم لهذا الغرض

جرب استخدم

 	 System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
 	 cmd.Connection = sqlConnection1;
 	 cmd.CommandText = "INSERT INTO Region ( RegionID, RegionDescription ) values ( 5,'yyyyyyyy')";
 	 sqlConnection1.Open();
 	 cmd.ExecuteNonQuery();
 	 sqlConnection1.Close();

لكني افضل دائما ان تتم الاضافة من خلال ال Paramters لسهولة تتعب الاخطاء وايضا لانها اسرع في التنفيذ، رغم اني تحتاج كود اكثر، لكن ارواكل و اس كيو سيرفر سوف ينفذوها بشكل اسرع، وهي الطريقة المحبذة دائما لتمرير قيم مع جملة sql

ايضا ضع جملة تنفيذ الكوماند داخل try ..catch حتى تظهر لك رسالة الخطأ بشكل اوضح

هذا الكود بعد التعديل

 	 System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
 	 cmd.Connection = sqlConnection1;
 	 cmd.CommandText = "INSERT INTO Region ( RegionID, RegionDescription ) values (@RID,@Desc)";
 	 cmd.Parameters.Add("@RID",SqlDbType.Int).Value = 99;
 	 cmd.Parameters.Add("@Desc",SqlDbType.VarChar,30).Value ="data";

 	 sqlConnection1.Open();
 	 try
 	 {
    cmd.ExecuteNonQuery();
 	 }
 	 catch (Exception ex)
 	 {
    MessageBox.Show(ex.Message);
 	 }
 	 sqlConnection1.Close();

وإن شاء الله يعمل بشكل جيد معك

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

هذا الموضوع مغلق.

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