تقييم الموضوع :
  • 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
اه ياجماعة مفيش اى مساعدة
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال شباب اريد اشتري كتاب عن قواعد البيانات ابراهيم كركوكي 8 335 23-11-16, 12:29 AM
آخر رد: السرور
  لا اعلم من الكاتب لكن والله انه من اجمل ما قرأت في قواعد البيانات كوني كنت مبتدأ thevirus 0 68 24-10-16, 06:00 PM
آخر رد: thevirus
  [سؤال] الفروق بين انواع قواعد البيانات مصطفى العراقي 0 254 29-02-16, 01:28 PM
آخر رد: مصطفى العراقي
  احبابى فى الله السلام عليكم ورحمة الله وبركاته. سوال بالنسبه لقواعد البيانات اكسس mhareek 4 303 22-01-16, 07:19 PM
آخر رد: VB_Local
  طريقة التعامل مع قاعدة البيانات Mido-9 1 281 12-01-16, 11:10 PM
آخر رد: أبوبكر سويدان
  [سؤال] سؤال عام حول قواعد البيانات Youssef1313 7 594 06-11-15, 02:58 PM
آخر رد: Youssef1313
  كيف تصدير البيانات من االداتاكرد إلى اكسل swengineeer 1 560 23-08-15, 02:26 AM
آخر رد: khodor1985
  طلب مساعدة عندي مشكلة عند الربط بقاعدة البيانات لا يعرف المستحيل 7 1,090 04-02-15, 02:02 PM
آخر رد: مصطفى مجيد
  [VB.NET] وضع قاعدة بيانات اكسيس على الانترنت ؟ Mido-9 0 640 02-02-15, 08:42 PM
آخر رد: Mido-9
  عمل قاعدة بيانات بليززز هجير الروح 3 864 07-12-14, 09:12 PM
آخر رد: هجير الروح

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


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