2011-04-07 52 views
1

hii在sql數據庫中更改列後應該做什麼更改?

它是我第一次在c#中使用數據庫。我正在嘗試將數據庫添加到Visual Studio C#中,讀取數據並將數據保存到數據庫。

所以我創建了一個數據庫和一個名爲「Users」的表格。然後我將窗體窗體連接到數據庫。

之後,它在檢索數據(查詢:所有用戶)工作得很好,但我已經從日期時間編輯了一列類型爲int後,,它給了我一個異常「約束的例外是在下面的行

this.usersTableAdapter.Fill(this.smartHomeDataSet.Users); 
未處理

和形式dosent負載在所有。!!

所以我想有件事我必須做的,我一定要對數據庫表所做的更改,因此它可以被應用到我的應用程序後。

它可能是簡單而明快的但是,請原諒我第一次使用數據庫。

感謝您的幫助,全部。

編輯:

我做什麼,在表中定義

編輯欄(出生日期),它是:日期時間 - 不是允許爲空

改爲:INT - 允許爲空

回答

2

您不需要重新生成數據集。按照步驟更新您的數據集。

1.)轉到輸入數據集設計器。右鍵單擊TableAdapter標題並選擇配置選項。這將啓動表格適配器配置嚮導。

2.)通常完成嚮導並更新查詢設計器步驟中的字段。這是它將添加新顏色並刪除未在查詢結果集中找到的顏色的位置。

3.)完成嚮導後,您將很快觀察到新字段已添加到對應的數據表中。這也將確保所有TableAdapter方法的結果集也被更新,並且您不需要單獨更改每個方法。我們已經做了很多次了,而且總是能夠正常工作。

4.)只有您需要手動執行的操作是從DataTable中刪除色彩,以防從查詢中刪除字段。該向導將更新並添加顏色,但不會從DataTable中刪除顏色。簡單地說,只需繼續並從DataTable中刪除色彩即可。

你完成了。

+0

好吧我現在就試試 – Waleedoo 2011-04-07 15:44:50

+0

我做了你告訴我的,,正如你在完成嚮導後所說的,TableAdapter的相應表格已被編輯,但是現在我有兩個字段出生日期和出生日期1,舊列和我編輯的一個!我怎麼能刪除舊的!?儘管在qurey builder的嚮導中,我已經執行了它,它只顯示一個出生日期,並且沒有錯誤。但是當我運行程序時,仍然是同樣的問題。謝謝你的幫助 – Waleedoo 2011-04-07 15:57:40

+0

我找到了。在數據集中,我從users表中選擇了列(出生數據)(舊數據)並按下刪除。而已。謝謝你的幫助 – Waleedoo 2011-04-07 16:07:13

-1

看起來您正在使用強類型數據集和表適配器。如果是這種情況,那麼如果更改數據庫列,則需要重新生成數據集(或手動更改它們)。

+0

我正在使用Visual Studio 2008 Team System版本,與SQL Server 2005 – Waleedoo 2011-04-07 15:28:00

+0

哇。向正確的答案投下贊成票。這是第一個。 :) – 2011-04-11 13:34:03

0

嗯,我想你已經改變了數據集中列的數據類型。

但異常可能是由於將null值設置爲AllowNull設置爲false的數據表列中。你是否改變了db中列的nullable屬性?如果是這樣,請更改AllowNull

+0

我做了什麼,正在編輯表格定義中的列(date of birth): – Waleedoo 2011-04-07 15:25:10

+0

原因是:dateTime - 不允許NULL 改爲:int - allowNull – Waleedoo 2011-04-07 15:25:48