C# asp.NETC中的错误问题#

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

我有一个问题,如果你能帮助我,我有一个错误

必须声明标量变量 “@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(); }

谢谢

您有一个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显然是一个初学者和新手,所以,你是想把人赶走吗?此外,知道这里发生了什么并不难。“标量”是仅在一个上下文中使用的术语。