تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كود التاكد من الحقل موجود داخل الجدول فب قاعدة بيانات sql server vb.net
#1
السلام عليكم 

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

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

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


وشكرا
الرد }}}
تم الشكر بواسطة: جيولوجي مبتدئ
#2
التحقق من الجدول نفذ:
PHP كود :
select count (*) from sys.Tables where name='YourTableName' 

وللتحقق من الحقل او العمود:
PHP كود :
select count (*) from sys.Columns where name='YourColumnName' 
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#3
(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 جداول يوجد بهم نفس اسم الحقل هل سينفعني هذا الكود

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

اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}



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


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