منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 

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

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

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


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

وللتحقق من الحقل او العمود:
PHP كود :
select count (*) from sys.Columns where name='YourColumnName' 
(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 جداول يوجد بهم نفس اسم الحقل هل سينفعني هذا الكود

وهل كود التتحقق من الحقل يتنفذ علي جدول واحد او جميع الجداول اللي في القاعدة
هل من مساعدة
لي طريقة خاصة لكشف هل يوجد جدول ما ام لا.
اكتب دالة  تعيد قيمة 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  فبها او اردتها برقم خطا فكذلك تعمل معك.