我在使用C#插入SQL数据库时遇到问题。我得到的错误是

必须声明标量变量“ @campusVisitDate”。

其中@campusVisitDate是参数,我提供一个值,然后将其添加到数据库中。
这是给我问题的代码

conn2.Open();
SqlCommand cmd = conn2.CreateCommand();
DateTime date = DateTime.Now;
date.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.GetCultureInfo("en-US"));
cmd.CommandText = "INSERT INTO TableName (DateRequested, OnCampus, OnCampusVisitDate, Name, Title, Email, Phone, Fax, MinCumGPA, Keywords, EmployerNotes, ThirdParty, JobFair, CompanyURL) VALUES (@date,@onCampus,@campusVisitDate,@name,@title,@email,@phone,@fax,@mcgpa,@keywords,@empnotes,@tp,@jobfair,@compurl)";
cmd.Parameters.AddWithValue("@date",date);

if (campusvisit == 1)
{
    cmd.Parameters.AddWithValue("@onCampus", 1);
    cmd.Parameters.AddWithValue("@campusVisitDate",campusVisitDate);
}
else
{
    cmd.Parameters.AddWithValue("@onCampus", 0);
}


OnCampusVisitDate列的类型为DateTime,变量CampusVisitDate的格式也已设置为DateTime。

无论出于何种原因,这都是唯一给我带来问题的列,其他所有列都可以,即使是DateTime类型的DateRequested也可以。

也许我只是缺少一些小东西,但是我已经遇到了一段时间了,希望获得一些帮助。

(如果您需要更多代码,请询问,我将其发布)

最佳答案

    else
    {
        cmd.Parameters.AddWithValue("@onCampus", 0);
        cmd.Parameters.AddWithValue("@campusVisitDate",null);
    }

07-26 05:46