تعلم كيفية انشـاء وربط قواعد بيانات SQL Server2000 مع VB6 (شرح بالصور + مثال عملي )

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية انشـاء وربط قواعد بيانات SQL Server2000 مع VB6 (شرح بالصور + مثال عملي )

مُساهمة من طرف أبوسجود في الثلاثاء أكتوبر 23, 2012 8:26 pm

الســلام عليكم ورحمة الله وبركاته
اخوانى الاعضــاء الكرام , كيـف حــال الجميع ؟
أســأل الله العظيــم أن تـكونوا فى أفضــل حـال وأتم عــافية

اليــوم بأذن الله سنـتعلم معــاً كيفية أنشــاء وربـط قواعد بيانات SQL Server 2000 بـالفيجوال بيسيك 6.0 أســأل الله العظيم ان يُوفقنى فى إيصـال المعلومة اليكم بشـكل ومُتضح وبسيـط فلنبدأ بســـــم الله الملك ..... سنــقوم اليــوم بأنشــأء برنامج لأضافة بيانات المُستخدمين كمــثال نعتمد عليه أثنــاء الشرح



اولاً إنشــاء قاعدة بيانات جديدة :



فى مرحلة انشــاء قاعدة بيانات داخل SQL Server 2000 سيتم ذلك بأستخدام SQL Server Enterprise Manager ويمكننا تشغيله عبر الاتى :



من قائمة أبدأ (Start) ومنا الى All Programs ثم Microsoft SQL Server ونختار Enterprise Manager كما هو موضح بالصورة الأتية :




ستظهر لنا نافذة SQL Server Enterprise Manager الان سنقوم بفتح قسم قواعد بيانات الخادم عن طريق اختيار Database من الـ Tree View التى امامنا مثل ما هو موضح بالصورة :




ستجد الان امامك بعض قواعد البيانات تأتى مع برنامج SQL Server ولأنشاء قاعدة بيانات جديدة ننقر كليك يمين -Right Click- على اى مكان فارغ فى نافذة قواعد البيانات ونختار من القائمة New Data Base كما هو موضح بالصورة :




الان ستظهر لنا نافذة خصائص قاعدة البيانات فنقوم بكتابة أسـم قاعدة البيانات التى سنقوم بأنشاءها وهو UsersData ثم ننقر على زر Ok الموجود بالنافذة مثل ما موضح بالصورة :




الان سنجد ان قاعدة البيانات UsersData التى قمنا بأنشاءها بجانب القواعد الاخرى والأن سنـقوم بأنشاء جدول جديد وذلك عبر الأتى ننقر على قاعدة البيانات UsersData التى قمنا بأنشاءها كلكتين -Double Click- حتى نقوم بفتحها ستظهر لك نافذة خصائص القاعدة تجاهلها وانقر على زر Cancel ..


الان ستظهر لك أقسـام قاعدة البيانات من جداول واستعلامات ... الخ مثل ما هو موضح بالصورة :





وبما أننا نريد انشاء جدول جديد فسنـقوم بالنقر على قسم جداول القاعدة وهو Tables نقرتين -Double Click- ستجد مجموعة من الجداول ايضاً خاصة بالـ SQL Server نفسة ولأنشاء جدول جديد سنقوم بنفس طريقة انشاء قاعدة البيانات بالنقر كليك يمين على اى مكان فارغ فى نافذة الجداول مثل ما هو موضح بالصورة :




الان ستظهر لنا نافذة تصميم الجداول وكما ترى اول عمود على اليسـار وهو Column Name نقوم بأدخال أسم الحقل به وكذلك الـ Data Type نقوم بتحديد نوع الحقل من خلاله وبعدها Lengh الذى نقوم بتحديد سعة الحقل من خلاله واخيراً Alow Null والذى يعنى بأمكانية السماح بوجود الحقل فارغ داخل السجل او لا .

وسنقوم الان بأنشاء 5 حقول وهما :


UsrNme = varchar
UsrTel = char
UsrMail = varchar
UsrCntry = char
UsrDte = datetime


وكما ترى فجانب اسماء الحقول انواعها ايضا او الـ Data Type كما هو موضح بالصورة :



http://www4.0zz0.com/2009/12/17/04/135021755.jpg



الان نقوم بأغلاق الجدول ستظهر لنا رســالة تأكيد حقل التغيرات عليه ونقوم بتسميته بأسم TabUsers وننقر على OK سنجد الجدول أمامنا مع مجموعة الجداول الاخرى ولفتح الجدول فننقر عليه كليك يمين ونختار Return all rows من العنصر Open Table بالقائمة كما هو مُوضح بالصورة التالية :



http://www4.0zz0.com/2009/12/17/04/814493025.jpg



الان سنجد الجدول أمامنا Access كما هو موضح بالصورة :



http://www4.0zz0.com/2009/12/17/04/936094344.jpg



أعتقد ان الامر بسيط جدا ومُشابه الى حد كبير لقواعد بيانات MS-Access



والان سنبدأ فى انشاء البرنامج عبر الفيجوال بيسيك 6.0 بعد ان توحد الله



انشاء برنامج بيانات المُستخدمين :



1 قم بفتح مشروع جديد عن طريق فيجوال بيسيك 6.0 وقم بأنشاء Form جديد ثم قم بأضافة الأدوات التاليى عليه :

عدد 5 من اداة Label
عدد 5 من اداة TextBox
عدد 5 من أداة CommandButton
عدد 1 من اداة DataGrid

قم بتنسيق الادوات على الـ Form كما هو موضح بالصورة التالية :



http://www4.0zz0.com/2009/12/17/04/909653952.jpg



الان قم بتسمية الكائنات عن طريق الخاصية Name على النحو التالى :


Project1 = UsersDataPro
Form1 = frmMain
Label1 = lblNme
Label2 = lblTel
Label3 = lblMail
Label4 = lblCntry
Label5 = lblDte
Text1 = txtNme
Text2 = txtTel
Text3 = txtMail
Text4 = txtCntry
Text5 = txtDte
Command1 = cmdMveFst
Command2 = CmdMvePvs
Command3 = cmdMveNxt
Command4 = cmdMveLst
Command5 = cmdSave
DataGrid1 = MyGrid


والأن قم بحفظ المشروع فى مجلد جديد أننا سنقوم بالربط عن طريق مكتبة ADO فسنقوم أولاً بتعريف المكتية عن طريق الاتى :


من قائمة Project ومنها الى Reference ونختار من النافذة : Microsoft ActiveX Data Object 2.8 Library ثم ننقر على Ok ويُفضل ان تقوم بغلق المشروع وفتحه من جديد .



الان الى مرحلة البرمجة :



1_الاتصال بالقاعدة :



قم بأنشاء Module جديد وقم بتسميته بأسم Defination -او لا تُسميه كما تريد - والان سنقوم بالأعلان عن متغيرات ADO لنقوم بأنشاء الاتصال :



الرمز:
Public Cn As New ADODB.Connection
Public Rs As New ADODB.Recordset 



الان سنقوم بعمل أجراء عام للأتصال بالقاعدة عن طريق الكود التالى :



الرمز:
Public Sub MyConnection()
If Cn.State = 1 Then Cn.Close
Cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=UserData"
Rs.CursorLocation = adUseClient
If Rs.State = 1 Then Rs.Close
Rs.Open "SELECT * FROM TabUsers", Cn, adOpenKeyset, adLockOptimistic
Set frmMain.MyGrid.DataSource = Rs
End Sub 



الان لدينا اجراء الاتصال العام حيث يمكننا استعدائه عن طريق اى مكان فى البرنامج فقط بجملة Call + اسم الاجراء وهو MyConnection -وسنقوم بذلك اثناء عمل الأتصال بأذن الله -



والان سنقوم بكتابة كود اعداد اسماء الادوات على الـ Form وايضاً استعداء كود اجراء الأتصال وسيكون ف الحدث Form_Load كالتالى :



الرمز:
 



Private Sub Form_Load()
'تنسيق اسماء الادوات على الفورم
Me.Caption = "Users Data"
lblNme.Caption = "User Name:"
lblTel.Caption = "User Tel:"
lblMail.Caption = "User E_Mail:"
lblCntry.Caption = "User Country"
lblDte.Caption = "User Join Date:"
txtNme.Text = ""
txtTel.Text = ""
txtMail.Text = ""
txtCntry.Text = ""
txtDte.Text = ""
cmdSave.Caption = "Save"
cmdDelete.Caption = "Delete"
cmdFind.Caption = "Find"
cmdEdit.Caption = "Edit"
cmdExit.Caption = "Exit"
'_______________________

'استدعاء كود اجراء الاتصال بالقاعدة
Call MyConnection
'______________________________
End Sub





والان الى كود الحفظ ولن تختلف الاكواد عن طريقة استخدامنا للـ ADO مع Access فالفارق كان فى تحديد الـ Provider فى الاتصال فقط لذا سأضع لكم الاكواد فقط لكل أداة



كود الحفظ :

الرمز:
 



Private Sub cmdSave_Click()
On Error Resume Next
If Trim(txtNme.Text) = "" Then
  MsgBox "Please enter user name !", vbExclamation
ElseIf Trim(txtTel.Text) = "" Then
  MsgBox "Please enter user tel. !", vbExclamation
ElseIf Trim(txtMail.Text) = "" Then
  MsgBox "Please enter user E_Mail !", vbExclamation
ElseIf Trim(txtCntry.Text) = "" Then
  MsgBox "Please enter user coountry !", vbExclamation
ElseIf Trim(txtDte.Text) = "" Then
  MsgBox "Please enter date of user join !", vbExclamation
Else
Rs.AddNew
        Rs.Fields!UsrNme = txtNme.Text
        Rs.Fields!UsrTel = txtTel.Text
        Rs.Fields!UsrMail = txtMail.Text
        Rs.Fields!UsrCntry = txtCntry.Text
        Rs.Fields!UsrDte = txtDte.Text
Rs.Update
Call MyConnection
MsgBox "Data of user:" & " " & txtNme.Text & " " & "has saved successfully", vbInformation
End If
End Sub 



كود الحذف :



الرمز:
رPrivate Sub cmdDelete_Click()
On Error Resume Next
If Rs.RecordCount = 0 Then
  MsgBox "Database empty !", vbExclamation
  Exit Sub
ElseIf Trim(txtNme.Text) = "" Then
  MsgBox "Please show data which you try to delete it frist !", vbExclamation
Else
Rs.Find "UsrNme='" & txtNme.Text & "'"
  If Rs.EOF = True Then
    MsgBox "Data you're trying to delete it not found !", vbCritical
  Else
    Rs.Delete
    txtNme.Text = ""
    txtTel.Text = ""
    txtMail.Text = ""
    txtCntry.Text = ""
    txtDte.Text = ""
    MsgBox "Data has deleted successfully", vbInformation
  End If
End If
End Sub 
كود التعديل :



رموز PHP:
Private Sub cmdEdit_Click()
On Error Resume Next
If Rs.RecordCount = 0 Then
  MsgBox "Database empty", vbExclamation
  Exit Sub
End If
If Trim(txtNme.Text) = "" Then
  MsgBox "Please show data which you want to edit it !", vbExclamation
Else
        Rs.Fields!UsrNme = txtNme.Text
        Rs.Fields!UsrTel = txtTel.Text
        Rs.Fields!UsrMail = txtMail.Text
        Rs.Fields!UsrCntry = txtCntry.Text
        Rs.Fields!UsrDte = Format$(txtDte.Text, "mm/dd/yyy")
        Rs.Update
        Call MyConnection
      MsgBox "Data of user:" & " " & "has edited successfully", vbInformation
    End If
End Sub 





كود عرض بيانات السجل عند النقر عليه فى الـDataGrid :



الرمز:
Private Sub MyGrid_Click()
If MyGrid.RecordSelectors = True Then
  txtNme.Text = MyGrid.Columns(0).Text
  txtTel.Text = MyGrid.Columns(1).Text
  txtMail.Text = MyGrid.Columns(2).Text
  txtCntry.Text = MyGrid.Columns(3).Text
  txtDte.Text = MyGrid.Columns(4).Text
End If 



وبهذا نكون قد انتهينا من تنفيذ مثالنا البسيط وها هو المثال : Download Example



وفى النهاية أتمنى من الله ان أكون قد وُفقت فى إيصال معلومة اليكم ولا تنسونى من صالح دعائكم لي ولوالدي

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



نقلا عن / منتدى الفجوال بيسك

أبوسجود
.....
.....

تاريخ التسجيل : 18/02/2011
المساهمات : 87
النقاط : 162
التقيم : 7
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى