تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة - قراءة العلاقات من قاعدة البيانات
#1
السلام عليكم ورحمه الله وبركاته

احتاج مساعدة فى كيفية قراءة العلاقات (relations) من قاعدة بيانات access و sql

مثل الفيجوال ستوديو عند اضافة data source للمشروع تظهر العلاقات فى الداتاسيت



وجدت كود لتحميل الجداول والعلاقات من قاعدة البيانات لكن يظهر الخطأ التالى

Record(s) cannot be read; no read permission on 'MSysRelationships'.

PHP كود :
Function getDataSetAndFill(ByRef connection As OleDb.OleDbConnectionOptional ByVal isExportSchema As Boolean True) As DataSet

        Dim myDataSet 
As New DataSet
        Dim myCommand 
As New OleDb.OleDbCommand
        Dim myAdapter 
As New OleDb.OleDbDataAdapter

        myCommand
.Connection connection

        myCommand
.Connection.Open()

        
'Get Database Tables
        Dim tables As DataTable = connection.GetOleDbSchemaTable( _
            System.Data.OleDb.OleDbSchemaGuid.Tables, _
            New Object() {Nothing, Nothing, Nothing, "TABLE"})

        '
iterate through all tables
        Dim table 
As DataRow
        
For Each table In tables.Rows

            
'get current table's name
            Dim tableName 
As String table("TABLE_NAME")

            
Dim strSQL "SELECT * FROM " "[" tableName "]"

            
Dim adapter1 As New OleDb.OleDbDataAdapter(New OleDb.OleDbCommand(strSQLconnection))
            
adapter1.FillSchema(myDataSetSchemaType.SourcetableName)

            
'Fill the table in the dataset
            myCommand.CommandText = strSQL
            myAdapter.SelectCommand = myCommand
            myAdapter.Fill(myDataSet, tableName)
        Next

        ''''''''''''''''''''''''''''''''''''''
        '''' Add relationships to dataset ''''
        ''''''''''''''''''''''''''''''''''''''

        '
Firstget relationships names from database (as well as parent table and child table names)
        
Dim namesQuery As String "SELECT szRelationship, szReferencedObject, szObject " _
                                    
"FROM MSysRelationships"
        
Dim namesCommand As New System.Data.OleDb.OleDbCommand(namesQueryconnection)
        
Dim namesAdapter As New System.Data.OleDb.OleDbDataAdapter(namesCommand)
        
Dim namesDataTable As New DataTable
        namesAdapter
.Fill(namesDataTable)

        
'Now, get MSysRelationship from database
        Dim relationsQuery As String = "SELECT * FROM MSysRelationships"
        Dim command As New System.Data.OleDb.OleDbCommand(relationsQuery, connection)
        Dim adapter As New System.Data.OleDb.OleDbDataAdapter(command)
        Dim relationsDataTable As New DataTable
        adapter.Fill(relationsDataTable)

        Dim relationsView As DataView = relationsDataTable.DefaultView
        Dim relationName As String
        Dim parentTableName As String
        Dim childTablename As String

        For Each relation As DataRow In namesDataTable.Rows
            relationName = relation("szRelationship")
            parentTableName = relation("szReferencedObject")
            childTablename = relation("szObject")

            '
Keep only the record of the current relationship
            relationsView
.RowFilter "szRelationship = '" relationName "'"

            'Declare two arrays for parent and child columns arguments
            Dim parentColumns(relationsView.Count - 1) As DataColumn
            Dim childColumns(relationsView.Count - 1) As DataColumn

            For i As Integer = 0 To relationsView.Count - 1
                parentColumns(i) = myDataSet.Tables(parentTableName). _
                                Columns(relationsView.Item(i)("szReferencedColumn"))
                childColumns(i) = myDataSet.Tables(childTablename). _
                                Columns(relationsView.Item(i)("szColumn"))
            Next

            Dim newRelation As New DataRelation(relationName, parentColumns, childColumns, False)
            myDataSet.Relations.Add(newRelation)
        Next

        '
If isExportSchema Then
        
'Dim schemaName = GetXmlSchemaFileName()
        '
If File.Exists(schemaNameThen File.SetAttributes(schemaNameFileAttributes.Normal)
        
'myDataSet.WriteXmlSchema(schemaName)
        '
End If

        
myCommand.Connection.Close()

        Return 
myDataSet
    End 
Function 
الرد }}}}
تم الشكر بواسطة:
#2
اه ياجماعة مفيش اى مساعدة
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  منع التعديل فى سجلات قاعدة البيانات اسلام الكبابى 7 147 18-09-17, 12:33 AM
آخر رد: اسلام الكبابى
  كيفية تشغيل قاعدة بيانات اكسيس على جهازين مرتبطين بشبكة داخلية Bookmark and Share Ahmed Mostafa Salem 0 81 25-08-17, 01:36 PM
آخر رد: Ahmed Mostafa Salem
  [سؤال] مساعدة فى تصميم قاعدة بيانات XRushdy 7 366 15-06-17, 03:02 AM
آخر رد: XRushdy
  التعامل مع كميات البضائع فى قاعدة البيانات XRushdy 5 241 15-06-17, 02:45 AM
آخر رد: XRushdy
  لا اعلم من الكاتب لكن والله انه من اجمل ما قرأت في قواعد البيانات كوني كنت مبتدأ thevirus 2 416 24-03-17, 01:36 AM
آخر رد: أبووسم
  سؤال شباب اريد اشتري كتاب عن قواعد البيانات ابراهيم كركوكي 8 935 23-11-16, 12:29 AM
آخر رد: السرور
  [سؤال] الفروق بين انواع قواعد البيانات مصطفى العراقي 0 534 29-02-16, 01:28 PM
آخر رد: مصطفى العراقي
  احبابى فى الله السلام عليكم ورحمة الله وبركاته. سوال بالنسبه لقواعد البيانات اكسس mhareek 4 572 22-01-16, 07:19 PM
آخر رد: VB_Local
  طريقة التعامل مع قاعدة البيانات Mido-9 1 537 12-01-16, 11:10 PM
آخر رد: أبوبكر سويدان
  [سؤال] سؤال عام حول قواعد البيانات Youssef1313 7 1,003 06-11-15, 02:58 PM
آخر رد: Youssef1313

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم