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

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

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

[صورة مرفقة: lQQvP.png]

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

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,260 10-11-24, 07:42 PM
آخر رد: Taha Okla
  ربط اكثر من جهاز بصمة علي قاعدة بيانات abdalbast 1 1,914 10-08-23, 02:55 PM
آخر رد: abiza
  [SQL] طريقة تحويل قاعدة بيانات Sqlserver محمد جمعه 3 4,108 12-05-23, 09:21 AM
آخر رد: Lesteraction
  طلب طريقة ترحيل البيانات من جدول الي جدول اخر في قاعدة بيانات اخر ahmed201 7 4,317 29-03-23, 04:02 PM
آخر رد: sanyor77
Lightbulb [كورس] (SQL) كتب لغة تصميم قواعد البيانات العلائقية Structured Query Language rabia al hamdani 0 1,181 10-01-23, 02:52 AM
آخر رد: rabia al hamdani
  [سؤال] ممكن احد يحل مشكلة تنسيق البيانات ؟ red apple 0 1,257 31-10-22, 03:05 PM
آخر رد: red apple
  [سؤال] استسفار بخصوص ربط قاعدة بيانات بسيرفر محلى maio_do 0 1,465 24-04-21, 02:47 AM
آخر رد: maio_do
  [سؤال] إستفسار عن خصائص قاعدة البيانات ZaerAllail 1 2,543 17-01-21, 04:35 PM
آخر رد: moosa_alabri
  هل هناك محرر مرئي لانشاء العلاقات ل sqlite alfaiz678 1 2,540 09-10-20, 08:45 AM
آخر رد: alfaiz678
  [سؤال] قاعدة بيانات mySql djelloul 3 2,701 02-09-20, 11:11 AM
آخر رد: asemshahen5

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


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