منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : انشاء قاعدة بيانات access واضافة جدول وحقول بكود vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اعزائي المبرمجين ....


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

(توضيح) : اقصد إضافة الجدول بكود برمجي وليس عن طريق أي معالجات او انشائه عن طريق ال accsess نفسه وتسمية قاعدة البيانات وجدولها وحقولها

امل افادتي

Huh Huh Huh
اخي الفاضل
لبناء قاعدة البيانات من خلال الاكواد ... ستحتاج للاعتماد على مكتبة ADOX

- أولا : قم باضافة ADOX : وذلك باضافتها كـ Reference  إلى مشروعك
- ثانيا : بعد ذلك أضف هذا Module  للفورم


Imports ADOX
Imports System.Data.OleDb
 
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim databaseName As String = "C:\AccessDB.mdb"
        Dim tableName As String = "MyTable"
 
        ' Part 1: Create Access Database file using ADOX
        Dim cat As ADOX.Catalog = New ADOX.Catalog()
        cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & databaseName & ";Jet OLEDB:Engine Type=5")
        MessageBox.Show("تم انشاء قاعدة البيانات بنجاح")
        cat = Nothing
 
        ' Part 2: Create one Table using OLEDB Provider 
        Dim con As New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & databaseName)
        con.Open()
        'Get database schema
        Dim dbSchema As DataTable = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, tableName, "TABLE"})
      con.Close()
 
        ' If the table exists, the count = 1
        If dbSchema.Rows.Count > 0 Then
            ' do whatever you want to do if the table exists
        Else
            'do whatever you want to do if the table does not exist
            ' e.g. create a table
            Dim cmd As New OleDb.OleDbCommand("CREATE TABLE [" + tableName + "] ([Field1] TEXT(10), [Field2] TEXT(10))", con)
            con.Open()
            cmd.ExecuteNonQuery()
            MessageBox.Show("تم انشاء الجداول بنجاح")
            con.Close()
        End If
    End Sub
 
End Class


أتمنى أن اكون قد افدتك ... والله الموفق
راجع هذه المشاركه. ففيها التعامل بشكل جيد مع قاعده اكسس. وانشاء جداول وحقول .
يمكنك وضع قاعده فارغه في ريسورس البرنامج . وكتابتها على القرص
اشكر لكم تعاونكم انحلت المشكلة
(10-12-15, 05:55 PM)boudyonline كتب : [ -> ]اخي الفاضل
لبناء قاعدة البيانات من خلال الاكواد ... ستحتاج للاعتماد على مكتبة ADOX

- أولا : قم باضافة ADOX : وذلك باضافتها كـ Reference  إلى مشروعك
- ثانيا : بعد ذلك أضف هذا Module  للفورم


Imports ADOX
Imports System.Data.OleDb
 
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim databaseName As String = "C:\AccessDB.mdb"
        Dim tableName As String = "MyTable"
 
        ' Part 1: Create Access Database file using ADOX
        Dim cat As ADOX.Catalog = New ADOX.Catalog()
        cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & databaseName & ";Jet OLEDB:Engine Type=5")
        MessageBox.Show("تم انشاء قاعدة البيانات بنجاح")
        cat = Nothing
 
        ' Part 2: Create one Table using OLEDB Provider 
        Dim con As New OleDb.OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source =" & databaseName)
        con.Open()
        'Get database schema
        Dim dbSchema As DataTable = con.GetOleDbSchemaTable(OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, tableName, "TABLE"})
      con.Close()
 
        ' If the table exists, the count = 1
        If dbSchema.Rows.Count > 0 Then
            ' do whatever you want to do if the table exists
        Else
            'do whatever you want to do if the table does not exist
            ' e.g. create a table
            Dim cmd As New OleDb.OleDbCommand("CREATE TABLE [" + tableName + "] ([Field1] TEXT(10), [Field2] TEXT(10))", con)
            con.Open()
            cmd.ExecuteNonQuery()
            MessageBox.Show("تم انشاء الجداول بنجاح")
            con.Close()
        End If
    End Sub
 
End Class


أتمنى أن اكون قد افدتك ... والله الموفق