C# asp.NETC中的错误问题#
我有一个问题,如果你能帮助我,我有一个错误 必须声明标量变量 “@Deitails” 因为我不知道标量是关于什么的,所以我无法找出问题所在C# asp.NETC中的错误问题#,c#,asp.net,sql,C#,Asp.net,Sql,我有一个问题,如果你能帮助我,我有一个错误 必须声明标量变量 “@Deitails” 因为我不知道标量是关于什么的,所以我无法找出问题所在 var sqlCon = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); // GET CONFERENCE ROLE ID
var sqlCon = new
SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
// GET CONFERENCE ROLE ID
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlCon;
cmd.CommandText = "select Conference_Role_ID from AuthorPaper
where Paper_ID = @PaperId";
cmd.Parameters.AddWithValue("@PaperId",
paperId);
cmd.Connection.Open();
string ConferenceRoleId = cmd.ExecuteScalar().ToString();
cmd.Connection.Close();
cmd.Dispose();
string query2 = @"insert into
ReviewPaper(Overall_Rating,Paper_id,Conference_role_id,Deitails)
values(0,@paperId,@ConferenceRoleId,@Deitails);select
SCOPE_IDENTITY() as RPID";
cmd = new SqlCommand(query2, sqlCon);
cmd.Parameters.AddWithValue("@paperId",
paperId);
cmd.Parameters.AddWithValue("@ConferenceRoleId",
ConferenceRoleId);
string ReviewPaperId;
try
{
cmd.Connection.Open();
ReviewPaperId = cmd.ExecuteScalar().ToString();
cmd.Connection.Close();
}
catch (Exception ee) { throw ee; }
finally { cmd.Dispose(); }
谢谢您有一个SQL查询,其中包含一个名为
Details
的参数,但您忘记添加该参数。您有一行代码,其中显示
string query2 = @"insert into ReviewPaper(Overall_Rating, Paper_id,
Conference_role_id, Deitails) values (0,@paperId,@ConferenceRoleId,@Deitails);
select SCOPE_IDENTITY() as RPID";
为insert语句的值提供参数@paperId
、@ConferenceRoleId
和@details
。稍后,指定前两个参数的值,但不指定@details
:
cmd.Parameters.AddWithValue("@paperId", paperId);
cmd.Parameters.AddWithValue("@ConferenceRoleId", ConferenceRoleId);
您需要添加类似的行来添加@details
的值,以便SQL server知道如何处理它。您收到的错误来自SQL server,因为如果未在C#code中为@details
添加值,则不会在发送到服务器的SQL代码中为您声明该值
要回答您的另一个问题,本例中的“Scalar”表示变量
@details
表示单个值。您需要提供更多信息。请发布一些代码。可能是你错发了详细信息。我投票决定重新打开,因为错误非常具体,很容易回答。OP显然不知道从哪里开始,在中结束一个问题需要以下选项之一:cmd.Parameters.AddWithValue for@Details@PHeiberg为什么你会要求更多的信息并投票结束一个问题,以至于OP不可能提供更多的信息?OP显然是一个初学者和新手,所以,你是想把人赶走吗?此外,知道这里发生了什么并不难。“标量”是仅在一个上下文中使用的术语。