2010-02-07 109 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");