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

من يفيدني تراي مليت

مغلق
بدأه khz في 25 سبتمبر 2003 · 3 رد · 1,023 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

تحياتي للجميع

انا اعمل برنامج حسابات بقاعدة بيانات sql وحينما استخدمت ado.net وصممت اول شاشة ادخال للبرنامج واستخدمت في ذلك المعالج في توليد شفرة كائنات ado.net ووضعت ثلاثة ازره وهي زر امر جديد وزر امر حفظ وزر امر خروج ووضعت في حدث تحميل النموذج الطريقة Fil لتحميل البيانات وحتى هذه اللحظة الامور ما شي تمام ...

' مطلوب الاتي

ما اضع في حدث الزر جديد

والزر حفظ

ولكم خالص تحياتي

اقول تراي مليت لاني حاولت اني اقراء عدة كتب ولم افهم شي منها للاسف الشديد وعشمت بكم خيرا ان شاء الله

#2

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

اما اذا كنت تقصد بجديد اي اضافة بيانات جديدة في قاعدة البيانات فأنت امام حلين اذا كنت تعمل "connected Mode" فراح تكتب "insert sql statment" اما اذا كنت تعمل في

موم الديسكونيكت اي انت غير متصل بقاعدة البيانات ولكنك تتعامل مع الداتا سيت ففي هذه الحالة راح تعمل "insert row in data set" , انا راح افترض انك شغال بالحالة الاولى اي انك متصل فالجواب كاتالي :

1- امسح جميع صنداديق الادخال اذا كنت تعرض فيها اي شيء .

مثال :

;""=textBox1.Text

2- اكتب الامر في الحدث المتعلق في الزر المتخصص في الادخال :

بالتاكيد يجب عليك ان تفتح الاتصال اولاً ثم تكتب في الكوماند تيكست امر الادخال,مثال:

- ملاحظة : باعتبار ان لديك عمودان فقط العمود الاول الID والثاني Name الاول رقم والآخر string.

  try
    {  

              this.connection1.Open();   //Open the Connection      
	string insert="INSERT INTO officer(OffID, Name)VALUES("+int.Parse(textBox1.Text)+" ,'"+textBox2.Text+"')";
	sqlCommand1.CommandText=insert;
	sqlCommand1.ExecuteNonQuery();
	this.connection1.Close();    //Close the Connection
	MessageBox.Show("تم ادخال البيانات بنجاح");
  }    

   catch(Exception c) 
     {
  MessageBox.Show(c.Message);
     }

اما بالنسبة لامر الحفظ فهو كالتعديل ونفترض انك عدلت في تيكت بوكس 1 وتيكست بوكس 2 وتريد ان تحفظ هذه التغيرات :

try
{  
  this.connection1.Open();   //Open the Connection      
   sqlCommand1.CommandText="Update officer Set OffID="+int.Parse(textBox1.Text)+",Name='"+textBox2.Text+"' ,State='"+textBox3.Text+"' where OffID="+int.Parse(this.textBox1.Text)+"";
   sqlCommand1.ExecuteNonQuery();
  this.connection1.Close();    //Close the Connection
}
 catch(Exception c) 
     {
  MessageBox.Show(c.Message);
     }
#3

تحياتي لك معاش ووالله يعجز لساني عن شكرك وردك السريع لي انا اريد ان استخدم اوامر sql مباشرة بدون dateset ولكن وقفت كثيرا عند الامر

string insert="INSERT INTO officer(OffID, Name)VALUES("+int.Parse(textBox1.Text)+" ,'"+textBox2.Text+"')";

حيث اني فهمت من الامر انك تدرج امر insert ضمن متغير السلسلة ثم تدرج هذا المتغير في commandtext الذلم افهمه هو جانب القيمة في values VALUES("+int.Parse(textBox1.Text)+" ,'"+textBox2.Text

ومجددا اشكرك ولو اني ثقلت عليك لي طلب اخر وهو شرح لي بالتفصيل الممل لعمليات sql من ادرج سجل وتحديث وحذف

اخوك khz

#4

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

(الذلم افهمه هو جانب القيمة في values VALUES)

أما بالنسبة للي على يمين ال values فهو كاتالي :

- اذا اردت ان تدخل رقم في اي امر sql فانت تدخل الرقم عادي والstring مابين ' ' , مثال:

INSERT INTO officer VALUES(12,'AHMED')J

لاحظ ان الرقم يدرج بشكل عادي اما الSTRING فهو مابين ' ', ولكن انا الآن راح ادخل القيم من TEXTBOX ولن ادخلها كتابة بالكود لاني لاعرف القيم , تمام

فباتالي راح اقول للبرنامج ان القيم راح تجيبها من الTEXTBOXS.

-ولاحظ ان التيكست بوكس لا يحمل الى قيم من النوع STRING اذا يجب

علي عندما اريد ان ادخل رقم احول قيمة التيكست بوكس من STRING الى

int وهذا ماحدث في الشق الاول وهو : ,"+(int.Parse(textBox1.Tex +"

اما الشق الثاني , فانا اريد ان ادرج string فلم احتاج الى عملية التحويل

فقط قلت له خذ القيمة من الtextBox, وهذا الشق الثاني.

وهذا الرد في عجالة وارجو ان تكون استفدت منه :) .

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

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