asp.net c#中的错误问题
本文关键字:错误 问题 net asp | 更新日期: 2023-09-27 18:01:18
我有一个问题,如果你帮助我,我有一个错误
必须声明标量变量"@Deitails"。
和我不能找到问题是什么,因为我不知道标量是什么
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(); }
谢谢
您有一个参数名为Details
的SQL查询,但是您忘记添加参数了。
有一行代码写着
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
和@Deitails
。稍后指定前两个参数的值,但不指定@Deitails
:
cmd.Parameters.AddWithValue("@paperId", paperId);
cmd.Parameters.AddWithValue("@ConferenceRoleId", ConferenceRoleId);
您需要添加类似的行来添加@Deitails
的值,以便SQL服务器知道如何处理它。你得到的错误来自SQL服务器,因为没有在你的c#代码中添加@Deitails
的值,它没有在发送到服务器的SQL代码中为你声明。
回答你的另一个问题,'Scalar'在这种情况下意味着变量@Deitails
代表一个单一的值。