1. 程式人生 > >SQL刪除資料表中欄位時出現【由於一個或多個物件訪問此列,ALTER TABLE DROP COLUMN *** 失敗。 】

SQL刪除資料表中欄位時出現【由於一個或多個物件訪問此列,ALTER TABLE DROP COLUMN *** 失敗。 】

今天做個功能,先是在程式中向資料表中新增欄位,然後再刪除該表中不需要的欄位,第一步的時候還是蠻順利的,可是第二步時就卡那裡了,刪除不了。提示出現了

當然,這個圖片是我在SQL裡去測試時截的,vs後臺刪不了其實也是這個原因。找了好多辦法來解決都沒搞定,後面知道是約束的問題,也去刪約束,可是我不能沒新增一個欄位就去刪除一個約束,不合理。

後來我發現,是不是我在新增欄位的時候給它賦初值才導致這個問題的,我就把那裡去掉了,結果果然猜對了。

//string strfacj = "alter table tAuthorityc add " + TextBox3.Text.ToString().Trim() + " bit default 'False'";
 string strfacj = "alter table tAuthorityc add " + TextBox3.Text.ToString().Trim() + " bit";

我在新增欄位時,不給它設定預設值False,後面刪除該欄位的時候就不會出現上述問題了,其實根源是什麼,我還是不知道,只能說避免了這個問題而已。還要好好學習啊。