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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الحمدلله أكملت تطبيقي مع قاعدة MYSQL لكن لدي بعض القلق والاستفسارات alaa_altunsi 0 459 22-10-23, 12:06 AM
آخر رد: alaa_altunsi
  ربط اكثر من جهاز بصمة علي قاعدة بيانات abdalbast 1 1,083 10-08-23, 02:55 PM
آخر رد: abiza
  [SQL] طريقة تحويل قاعدة بيانات Sqlserver محمد جمعه 3 3,307 12-05-23, 09:21 AM
آخر رد: Lesteraction
  طلب طريقة ترحيل البيانات من جدول الي جدول اخر في قاعدة بيانات اخر ahmed201 7 3,013 29-03-23, 04:02 PM
آخر رد: sanyor77
Lightbulb [كورس] (SQL) كتب لغة تصميم قواعد البيانات العلائقية Structured Query Language rabia al hamdani 0 724 10-01-23, 02:52 AM
آخر رد: rabia al hamdani
  [سؤال] ممكن احد يحل مشكلة تنسيق البيانات ؟ red apple 0 863 31-10-22, 03:05 PM
آخر رد: red apple
  [سؤال] استسفار بخصوص ربط قاعدة بيانات بسيرفر محلى maio_do 0 1,164 24-04-21, 02:47 AM
آخر رد: maio_do
  [سؤال] إستفسار عن خصائص قاعدة البيانات ZaerAllail 1 2,127 17-01-21, 04:35 PM
آخر رد: moosa_alabri
  هل هناك محرر مرئي لانشاء العلاقات ل sqlite alfaiz678 1 2,176 09-10-20, 08:45 AM
آخر رد: alfaiz678
  [سؤال] قاعدة بيانات mySql djelloul 3 2,139 02-09-20, 11:11 AM
آخر رد: asemshahen5

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


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