منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net (/showthread.php?tid=42026)



كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - عبدالكريم برشدان - 26-07-22

السلام عليكم 

لدي قاعدة بيانات باسم DB_emp
وجدول باسم Tbl_emp
وحقل باسم Name_emp

كيف يمكنني التاكد من ان الحقل موجود داخل الجدول والا لا 
في حالة موجود تظهر لي رسالة بانه موجود مسبقا 
وفي حالة غير موجود يتم اضافة الحقل الي الجدول 

وهذا الامر اريد كاتبه برمجيا مع تحميل الفورم 1


وشكرا


RE: كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - سعود - 26-07-22

التحقق من الجدول نفذ:
PHP كود :
select count (*) from sys.Tables where name='YourTableName' 

وللتحقق من الحقل او العمود:
PHP كود :
select count (*) from sys.Columns where name='YourColumnName' 



RE: كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - عبدالكريم برشدان - 26-07-22

(26-07-22, 04:11 PM)سعود كتب : التحقق من الجدول نفذ:
PHP كود :
select count (*) from sys.Tables where name='YourTableName' 

وللتحقق من الحقل او العمود:
PHP كود :
select count (*) from sys.Columns where name='YourColumnName' 
شكرا باشا مهندس مسعود علي الرد

انا لدي 3 جداول يوجد بهم نفس اسم الحقل هل سينفعني هذا الكود

وهل كود التتحقق من الحقل يتنفذ علي جدول واحد او جميع الجداول اللي في القاعدة


RE: كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - عبدالكريم برشدان - 29-07-22

هل من مساعدة


RE: كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net - سعود - 30-07-22

لي طريقة خاصة لكشف هل يوجد جدول ما ام لا.
اكتب دالة  تعيد قيمة Boolean واضع كود قراءة من جدول هكذا 
PHP كود :
select from tb 
 واقرؤها عبر DataReader   و كل هذا ضمن Try  و  ضمن الـ Catch   اعيد False المحصلة اذا اعادت الدالة True فالجدول موجود وان لا فالجدول غير موجود ,, نفس الشي للعمود بدالة اخرى  .
خذ الفكرة من الاكواد التالية فهي لاكسس و ليست sqlserver.


PHP كود :
Private Function IsTableFound(tb As String) As Integer
        Try
            Using con 
As New OleDb.OleDbConnection(str txtdb.Text)
 
               Using cm As New OleDb.OleDbCommand(""con)
 
                   cm.CommandText "select * from " tb
                    If con
.State ConnectionState.Closed Then con.Open()
 
                   Dim dr As OleDb.OleDbDataReader cm.ExecuteReader
                    Return Err
.Number
                    dr
.Close()
 
                   If con.State ConnectionState.Open Then con.Close()
 
               End Using
            End Using
        Catch ex 
As OleDb.OleDbException
            Return Err
.Number
        End 
Try
 
   End Function
 
   Private Function IsColFound(tb As Stringcol As String) As Integer
        Try
            Using con 
As New OleDb.OleDbConnection(str txtdb.Text)
 
               Using cm As New OleDb.OleDbCommand(""con)
 
                   cm.CommandText "select " col "  from " tb
                    If con
.State ConnectionState.Closed Then con.Open()
 
                   Dim dr As OleDb.OleDbDataReader cm.ExecuteReader
                    Return Err
.Number
                    dr
.Close()
 
                   If con.State ConnectionState.Open Then con.Close()
 
               End Using
            End Using
        Catch ex 
As OleDb.OleDbException
            Return Err
.Number
        End 
Try
 
   End Function 
اذا رجع بخطا رقم 0 فالجدول موجود واذا رجع برقم 5 فالجدول غير موجود.
انت وماتريد اردتها قيمة Truefalse  فبها او اردتها برقم خطا فكذلك تعمل معك.