2011-03-29 90 views
1

我在我的ASP.NET項目上使用TableAdapter,並且在檢索此數據的方式問題上停滯不前。ASP.NET獲取從TableAdapter返回的單個值選擇查詢

的代碼如下:

BookingDataTableAdapters.bookingTableAdapter ta = new BookingDataTableAdapters.bookingTableAdapter(); 

    String booking_id_string = Request["id"]; 
    int booking_id = Int32.Parse(booking_id_string); 


    BookingData.bookingDataTable table = ta.GetOwnerUsername(booking_id); 

    String username = string.Empty; 

    foreach (DataRow dr in table.Rows) 
     username = dr[0].ToString(); 

然而,這將具有以下錯誤:

未能啓用約束。一行或多行包含違反非空,唯一或外鍵約束的值。

但是,當我在查詢生成器中運行查詢時,它運行正常,沒有錯誤。我還禁用了表格適配器xsd文件屬性中的「EnforceConstraints」。

我不知道什麼是錯的,是有我得到這個單個值從我的查詢回來ASP.NET提前

感謝一個更好的方法,我很欣賞:-)

幫助
+0

你想獲取單行還是單行值?如果是後者,我不確定你爲什麼使用表格適配器。 – 2011-03-29 18:17:36

+0

我認爲這是因爲他不想寫任何SQL ...表適配器應該處理所有...然後他拔出數據值。這是一個沉重的操作方式,但是誰來告訴他如何去做他的工作......而不是我。 – CrazyDart 2011-03-29 18:19:39

+0

我只是想要一個單一的值,但我會誠實的在這裏,我不知道任何其他方法來獲取這些數據! :( – 2011-03-29 18:24:37

回答

0

告訴我的是,數據庫中的BookingData已更改,並且項目中的對象未更新。當你得到該行時,它不能填充該對象,因爲數據庫可能有一個null,並且該對象不允許它。更新數據集。

+0

感謝您的輸入,我如何去強制更新數據集? – 2011-03-29 18:17:09

+0

yikes,我不知道,我想他們一旦生成就必須打開數據集,將表格從中刪除,然後將其拖回 – CrazyDart 2011-03-29 18:18:04

+0

不幸的是,沒有解決它,有沒有更好的方法來獲得這個數據,你會推薦? – 2011-03-29 18:29:55

相關問題