这是我的代码文件的一小部分。每次我的调试器到达'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);
答案 0 :(得分:0)
您是否还在数据库中验证了daynumber是否为int?抛出的异常应该为您提供有关错误的更多详细信息。
答案 1 :(得分:0)
你试过的地方NewDA.Fill(NewDS);
而不是它,尝试NewDA.Fill(NewDS,"<table_name>");
如果您的表格名称为ACTIVITY
,请尝试NewDA.Fill(NewDS,"ACTIVITY");