السلام عليكم
لدي قاعدة بيانات باسم 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 واضع كود قراءة من جدول هكذا
واقرؤها عبر 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 String, col 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 فبها او اردتها برقم خطا فكذلك تعمل معك.