هلا بالغالي

الصراحة أنا لست مهندس برمجيات بس رح حاول ساعدك

طريقة ربط قاعد البيانات ب c#

الان ضع Button على الفورم وضع أيضا listbox

ثم إكتب في الكود الخاص بالحدث Click لل button1


كود:
SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\********s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string mycmd = "select FirstName,Age from mytable";
SqlCommand mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();
SqlDataReader myreader = mysqlcmd.ExecuteReader();
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
}
cn.Close();
myreader.Close();  
شرح الكود

كود:
                       SqlConnection cn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\********s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");  
هنا قمنا بتعريف الإتصال الخاص بقاعدة البيانات mydata****

كود:
string mycmd = "select FirstName,Age from mytable";  
هنا قمنا بتعريف متغير من نوع String يحوي على نص جملة الإستعلام

كود:
SqlCommand mysqlcmd = new SqlCommand(mycmd, cn);
cn.Open();  
هنا قمنا بتعريف ال Command الذي سوف نرسله لقاعدة البيانات وفتح الإتصال

كود:
SqlDataReader myreader = mysqlcmd.ExecuteReader();  
الان قمنا بتعريف قارئ للبيانات علما أن أنواع القوارء هي


ExecuteReader: في حال كان الناتج عدد كبير من البيانات...

ExecuteNonQuery: في حال لا يوجد أي قيمة مرجعة مثل عمل update أو delete ...

ExecuteScalar : في حال كان لا يوجد إلا قيمة مرجعة واحدة مثل الإسم الأول مثلا...

ExecuteXmlReader : لأخذ الناتج على شكل XML ...


الكود التالي

كود:
while (myreader.Read())
{
listBox1.Items.Add("firstname: " + myreader["FirstName"].ToString() + " Age: " + myreader["Age"].ToString());
} 
قراءة البيانات الناتجة كما في الشكل السابق

كود:
cn.Close();
myreader.Close();  
إغلاق كل شيئ تم إستخدامه وهو الإتصال والقارئ


الان نكون قد بدأنا بأساسيات ربط قواعد البيانات

وأي سؤال رح حاول ساعدك قدر الأمكان

تحياتي لك ياغالي