2010-02-07 160 views
1

這是我的代碼文件的一小部分。每次我的調試器到達'NewDA.Fill(NewDS)'行''在運行時它跳轉到catch。我很積極daynumber變量獲取數據庫中存在的值,我已經試過了我的數據庫的代碼文件外的查詢,它工作正常。我還在代碼的更多部分使用連接字符串'db',並取得了成功的結果。填充數據集問題

string QueryNew = "SELECT activityname AS [Name], activitycategorynumber AS [Category] " + 
        "FROM ACTIVITY WHERE daynumber = @daynumber"; 

SqlCommand NewCmd = new SqlCommand(QueryNew, db); 
NewCmd.Parameters.Add("@daynumber", SqlDbType.Int).Value = daynumber; 
SqlDataAdapter NewDA = new SqlDataAdapter(NewCmd); 
DataSet NewDS = new DataSet(); 
NewDA.Fill(NewDS); 
+2

您能查看真實拋出的異常,並張貼了什麼,說的細節? – AdaTheDev 2010-02-07 21:16:38

+0

是的,請編輯您的問題,在您捕獲的異常中包含ex.ToString()的結果。 – 2010-02-10 10:03:46

回答

0

您是否還在數據庫中驗證了天數爲int?拋出的異常應該會給你更多關於錯誤的細節。

+0

我能夠在拋出的異常中找到答案。 我忘了關閉我之前在代碼文件中使用的數據讀取器。 感謝您的幫助! – Brian 2010-02-07 22:17:28

0

當你試圖NewDA.Fill(NewDS); 代替它,嘗試NewDA.Fill(NewDS,"<table_name>");

如果你的表名是ACTIVITY,然後嘗試NewDA.Fill(NewDS,"ACTIVITY");