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(); }

谢谢

asp.net c#中的错误问题

您有一个参数名为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代表一个单一的值。