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

نسخة كاملة : *[- تم الحل -]* ما هو كود اضافة ميزة المفتاح الاساسي لعمود ترقيم تلقائي موجود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله و بركاته

اعرف الكود لانشاء عمود ترقيم تلقائي ومفتاح اساسي 

counter primary key
PHP كود :
"ALTER TABLE " tbname " ADD " tid " " counter primary key 
لكن كيف نضيف الـpk الى عمود موجود

ايضا ماهو كود معرفة الجدول هل يحتوي pk ام لا ؟
(26-05-23, 09:28 PM)سعود كتب : [ -> ]
السلام عليكم ورحمة الله و بركاته

اعرف الكود لانشاء عمود ترقيم تلقائي ومفتاح اساسي 

counter primary key
PHP كود :
"ALTER TABLE " tbname " ADD " tid " " counter primary key 


(26-05-23, 09:28 PM)سعود كتب : [ -> ]
لكن كيف نضيف الـpk الى عمود موجود
PHP كود :
"ALTER TABLE " tbname " ADD PRIMARY KEY (" tid ")" 

(26-05-23, 09:28 PM)سعود كتب : [ -> ]
ايضا  ماهو كود معرفة الجدول هل يحتوي pk ام لا ؟
PHP كود :
"SELECT column_name FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(constraint_name), 'IsPrimaryKey') = 1 AND table_name = '" tbname "'" 
بارك الله فيك و شكر الله لك.
_______________________________
لماذا تحويل النوع لا يلغي الـpk  من العمود؟
التحويل باضافة الـpk يتم لكن العكس لاSad.

كل محاولاتي ان احسن من الفكرة : [مشروع] ادارة بسيطة لملف الاكسس
اريد اذا وجد pk يضيف مفتاح بالقريدفيو

تم ... كل المطلوب
 الاول حذف الـPK والاخر اضافته
PHP كود :
Public Sub delpk(dbpath As Stringtbname As StringColName As StringOptional dbpass As String "")
 
       Using con As New OleDb.OleDbConnection(constr(dbpathdbpass))
 
           Using cm As New OleDb.OleDbCommand(""con)
 
               cm.CommandText "ALTER TABLE " tbname " DROP Constraint " tbname "_pk;"
 
               If con.State ConnectionState.Closed Then con.Open()
 
               Try
                    cm
.ExecuteNonQuery()
 
                   MsgBox("تم حذف المفتاح")
 
               Catch ex As Exception
                    MsgBox
(Err.DescriptionMsgBoxStyle.Critical"Error")
 
               End Try
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End Sub
    Public Sub addpk
(dbpath As Stringtbname As StringColName As StringOptional dbpass As String "")
 
       Using con As New OleDb.OleDbConnection(constr(dbpathdbpass))
 
           Using cm As New OleDb.OleDbCommand(""con)
 
               cm.CommandText "ALTER TABLE " tbname " ADD Constraint " tbname "_pk PRIMARY KEY (" ColName ");"
 
               If con.State ConnectionState.Closed Then con.Open()
 
               Try
                    cm
.ExecuteNonQuery()
 
                   MsgBox("تم اضافة المفتاح")
 
               Catch ex As Exception
                    MsgBox
(Err.DescriptionMsgBoxStyle.Critical"Error")
 
               End Try
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End Sub