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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ربط قاعدة البيانات بالكود جبران جابر 4 1,086 10-11-24, 07:42 PM
آخر رد: Taha Okla
  ربط اكثر من جهاز بصمة علي قاعدة بيانات abdalbast 1 1,744 10-08-23, 02:55 PM
آخر رد: abiza
  [SQL] طريقة تحويل قاعدة بيانات Sqlserver محمد جمعه 3 3,900 12-05-23, 09:21 AM
آخر رد: Lesteraction
  طلب طريقة ترحيل البيانات من جدول الي جدول اخر في قاعدة بيانات اخر ahmed201 7 3,998 29-03-23, 04:02 PM
آخر رد: sanyor77
Lightbulb [كورس] (SQL) كتب لغة تصميم قواعد البيانات العلائقية Structured Query Language rabia al hamdani 0 1,072 10-01-23, 02:52 AM
آخر رد: rabia al hamdani
  [سؤال] ممكن احد يحل مشكلة تنسيق البيانات ؟ red apple 0 1,164 31-10-22, 03:05 PM
آخر رد: red apple
  [سؤال] استسفار بخصوص ربط قاعدة بيانات بسيرفر محلى maio_do 0 1,383 24-04-21, 02:47 AM
آخر رد: maio_do
  [سؤال] إستفسار عن خصائص قاعدة البيانات ZaerAllail 1 2,441 17-01-21, 04:35 PM
آخر رد: moosa_alabri
  هل هناك محرر مرئي لانشاء العلاقات ل sqlite alfaiz678 1 2,416 09-10-20, 08:45 AM
آخر رد: alfaiz678
  [سؤال] قاعدة بيانات mySql djelloul 3 2,561 02-09-20, 11:11 AM
آخر رد: asemshahen5

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


يقوم بقرائة الموضوع: