Asp.net 标量变量误差

Asp.net 标量变量误差,asp.net,sql,Asp.net,Sql,如果你把我的话,我有个错误 错误: 必须声明标量变量“@Criteria” 因为我没有太多的经验,所以我找不到问题。谢谢 代码: 改变 cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id); 到 或者更改查询字符串(query2)以匹配所使用的参数名称(@Criteria\u ID)。您的参数是@Criteria\u ID,但您在SQL中引用了@Criteria。您需要在其中一个位置进行更改以保持一致 string query2 =

如果你把我的话,我有个错误

错误:

必须声明标量变量“@Criteria”

因为我没有太多的经验,所以我找不到问题。谢谢

代码:

改变

cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id);


或者更改查询字符串(query2)以匹配所使用的参数名称(@Criteria\u ID)。

您的参数是
@Criteria\u ID
,但您在SQL中引用了
@Criteria
。您需要在其中一个位置进行更改以保持一致

string query2 = @"insert into ReviewPaperCriteria(Review_paper_ID,Criteria_ID,Grate) 
                 values(@Review_paper_ID,@Criteria,@Grate);select SCOPE_IDENTITY() as RPID";
                                         ^^^^^^^^^    
...

cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id);
                             ^^^^^^^^^^^^

您正在声明变量
@Criteria
,但试图使用
@Criteria\u ID
设置其值

改变

 cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id);


永远不要写
catch(异常ee){throw ee;}
。它会破坏堆栈跟踪。@SLaks将
捕获(异常ee){throw;}
维护堆栈跟踪?@Bala:是的。那很好,但没用。
string query2 = @"insert into ReviewPaperCriteria(Review_paper_ID,Criteria_ID,Grate) 
                 values(@Review_paper_ID,@Criteria,@Grate);select SCOPE_IDENTITY() as RPID";
                                         ^^^^^^^^^    
...

cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id);
                             ^^^^^^^^^^^^
 cmd.Parameters.AddWithValue("@Criteria_ID", Criteria_Id);
 cmd.Parameters.AddWithValue("@Criteria", Criteria_Id);