تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ما هو كود معرفة نوع البيانات من اكسس؟
#1
PHP كود :
 Private Sub get_Cols(tb As String)
 
     dgvcols.Rows.Clear()
 
     If con.State ConnectionState.Closed Then con.Open()
 
     Dim dt As DataTable con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {NothingNothingtbNothing})
 
     If dt.Rows.Count 0 Then
          MsgBox
(" لا توجد حقول!"MsgBoxStyle.Exclamation"")
 
         Exit Sub
      End 
If
 
     For i As Integer 0 To dt.Rows.Count 1
          dgvcols
.Rows.Add(dt.Rows(i).Item("Column_Name"), dt.Rows(i).Item("Data_Type").ToString)
 
     Next
  End Sub 
السابق كما ترون يجلب اسماء الاعمدة من جدول محدد ونوع البيانات لكن الاخيرة تاتي ارقام فكيف الى حلها؟
شكر الله لكم
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#2
(09-05-24, 08:12 PM)justforit كتب :
PHP كود :
 Private Sub get_Cols(tb As String)
 
     dgvcols.Rows.Clear()
 
     If con.State ConnectionState.Closed Then con.Open()
 
     Dim dt As DataTable con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {NothingNothingtbNothing})
 
     If dt.Rows.Count 0 Then
          MsgBox
(" لا توجد حقول!"MsgBoxStyle.Exclamation"")
 
         Exit Sub
      End 
If
 
     For i As Integer 0 To dt.Rows.Count 1
          dgvcols
.Rows.Add(dt.Rows(i).Item("Column_Name"), dt.Rows(i).Item("Data_Type").ToString)
 
     Next
  End Sub 
السابق كما ترون يجلب اسماء الاعمدة من جدول محدد ونوع البيانات لكن الاخيرة تاتي ارقام فكيف الى حلها؟
شكر الله لكم

dgvcols.Rows.Add(dt.Rows(i).Item("Column_Name"), [Enum].GetName(GetType(OleDbType), dt.Rows(i).Item("Data_Type")))
الرد }}}
تم الشكر بواسطة: Taha Okla , justforit
#3
3sem
[quote pid='197333' dateline='1715327697']
(09-05-24, 08:12 PM)justforit كتب :
PHP كود :
 Private Sub get_Cols(tb As String)
 
     dgvcols.Rows.Clear()
 
     If con.State ConnectionState.Closed Then con.Open()
 
     Dim dt As DataTable con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {NothingNothingtbNothing})
 
     If dt.Rows.Count 0 Then
          MsgBox
(" لا توجد حقول!"MsgBoxStyle.Exclamation"")
 
         Exit Sub
      End 
If
 
     For i As Integer 0 To dt.Rows.Count 1
          dgvcols
.Rows.Add(dt.Rows(i).Item("Column_Name"), dt.Rows(i).Item("Data_Type").ToString)
 
     Next
  End Sub 
السابق كما ترون يجلب اسماء الاعمدة من جدول محدد ونوع البيانات لكن الاخيرة تاتي ارقام فكيف الى حلها؟
شكر الله لكم

dgvcols.Rows.Add(dt.Rows(i).Item("Column_Name"), [Enum].GetName(GetType(OleDbType), dt.Rows(i).Item("Data_Type")))
[/quote]

جربت كود شبيه به و جربته ايضا لكنه لا يعطي نفس النتيجة اللتي تظهر بالصورة و لم استطع فتح المرفق.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#4
توصلت الى قناعة وهي اني استخدم كود جلب اسماء الجداول من الاكواد التي تستخدم الـ GetOleDbSchema اما الاعمدة او الحقول فاكتفي باستخدام الكود المعتاد:
PHP كود :
Public Function getcols(cn As OleDbConnectiontb As String) As DataTable
     
If cn.State ConnectionState.Closed Then cn.Open()
 
    adb.Clear()
 
    adb.Columns.Clear()
 
    adb.Rows.Clear()
 
    Using cm As New OleDbCommand(""cn)
 
        cm.CommandText "select top 1 * from " tb
         adb
.Load(cm.ExecuteReader)
 
    End Using
     
Return adb
 End 
Function 
الجدول يحتوي فقط على صف واحد واللذي يهمنا الان اسماء الاعمدة ونوع بياناتها بالكود التالي:
PHP كود :
           Dim dt As New DataTable
            dt 
getcols(conListBox1.Text)
 
           ListBox2.Items.Clear()
 
           For Each dc As DataColumn In dt.Columns
                ListBox2
.Items.Add(dc.ColumnName)
 
               txtcode.AppendText(dc.ColumnName vbTab dc.DataType.Name vbNewLine)
 
           Next 
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#5
لتصحيح الكود الخاص بك والذي يستخدم ADO.NET للحصول على نوع البيانات من حقول جدول في قاعدة بيانات Access، يمكن استخدام الكود التالي. الكود يقوم بقراءة أسماء الحقول وأنواع البيانات من الجدول المحدد وعرضها في DataGridView.


PHP كود :
Private Sub get_Cols(tb As String)
 
   dgvcols.Rows.Clear()
 
   If con.State ConnectionState.Closed Then con.Open()

 
   Dim dt As DataTable con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, New Object() {NothingNothingtbNothing})

 
   If dt.Rows.Count 0 Then
        MsgBox
("لا توجد حقول!"MsgBoxStyle.Exclamation"")
 
       Exit Sub
    End 
If

 
   For i As Integer 0 To dt.Rows.Count 1
        Dim columnName 
As String dt.Rows(i).Item("COLUMN_NAME").ToString()
 
       Dim dataType As Integer Convert.ToInt32(dt.Rows(i).Item("DATA_TYPE"))
 
       Dim dataTypeName As String GetDataTypeName(dataType)
 
       dgvcols.Rows.Add(columnNamedataTypeName)
 
   Next

    con
.Close()
End Sub

Private Function GetDataTypeName(dataType As Integer) As String
    Select 
Case dataType
        Case 3
            Return 
"Long Integer"
 
       Case 4
            Return 
"Single"
 
       Case 5
            Return 
"Double"
 
       Case 6
            Return 
"Currency"
 
       Case 7
            Return 
"Date/Time"
 
       Case 11
            Return 
"Boolean"
 
       Case 17
            Return 
"Byte"
 
       Case 72
            Return 
"GUID"
 
       Case 130
            Return 
"Text"
 
       Case 131
            Return 
"Decimal"
 
       Case Else
 
           Return "Other"
 
   End Select
End 
Function 


الكود أعلاه يقوم بالآتي:

يفتح الاتصال بقاعدة البيانات إذا كان مغلقًا.
يستخدم GetOleDbSchemaTable للحصول على بيانات الأعمدة من الجدول المحدد.
يتحقق مما إذا كان الجدول يحتوي على حقول أم لا.
يستعرض الحقول ويضيف اسم الحقل ونوع البيانات إلى DataGridView.
يغلق الاتصال بقاعدة البيانات.
GetDataTypeName هي وظيفة لتحويل نوع البيانات الرقمي إلى اسم نوع البيانات.
تأكد من أن dgvcols هي DataGridView موجودة في النموذج الخاص بك وأن الاتصال (con) مضبوط بشكل صحيح للاتصال بقاعدة بيانات Access.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة
الرد }}}
تم الشكر بواسطة: justforit , مصمم هاوي , مصمم هاوي
#6
ماشاء الله تبارك الله
هذا الفهم الجيد اللذي اتمنى ان يكون عنديSmile
لقد لجات قبل ان ارى مشاركتك هذه الى استعراض كافة محتويات الاسكيما بعد اسناد جدول اليها ورايت الخصائص اللتي كنت اتمنى ان اعرفها.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: مصمم هاوي , غزة العزة
#7
منْ قالَ أن العربَ ليسوا مبدعين فقد أخطأ
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة: غزة العزة


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن كود اضافة كلمة مرور لملف اكسس justforit 0 435 06-10-25, 08:53 PM
آخر رد: justforit
  استفسارات عن قواعد البيانات مبتدئ بوحمد 0 1,000 06-11-24, 10:15 AM
آخر رد: بوحمد
  [C#.NET] مشكلة في مجلد قاعدة البيانات kamel1978 3 670 06-10-24, 06:26 PM
آخر رد: Taha Okla
  [سؤال] حول مشكلة توافق نوع البيانات عند الاستعلام في اكسل justforit 4 691 23-05-24, 05:35 AM
آخر رد: justforit
  استعلام من عدة جداول لقاعدة بيانات اكسس Adel27213 1 1,254 07-11-23, 08:27 AM
آخر رد: justforit
  [سؤال] عدم إظهار الصور مع النص فى Listview من قاعدة البيانات alims 2 2,030 27-08-23, 12:22 PM
آخر رد: رضوان الجماعي
  استفسار عن تخزين الوقت في قاعدة البيانات strongriseman 2 1,559 22-04-22, 07:27 PM
آخر رد: strongriseman
  [سؤال] مشكلة فى عرض الصورة من ادخل قاعدة البيانات alims 2 1,695 17-11-21, 10:09 AM
آخر رد: سعود
  كيف اتجنب أخطاء ارسال قيم فارغة الى حقول رقمية في اكسس بسام محمدغانم 2 1,386 09-11-21, 02:09 AM
آخر رد: Anas Mahmoud
  استعلام يرجع اسماء الاعمدة و نوع البيانات في جدول معين بسام محمدغانم 0 1,281 23-10-21, 01:43 AM
آخر رد: بسام محمدغانم

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


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