2

我在使用 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 类型。

无论出于何种原因,这是唯一给我带来问题的专栏,所有其他专栏都很好,甚至 DateRequested 也是 DateTime 类型。

也许我只是错过了一些小东西,但我已经解决这个问题一段时间了,希望得到一些帮助。

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

4

1 回答 1

2
    else
    {
        cmd.Parameters.AddWithValue("@onCampus", 0);
        cmd.Parameters.AddWithValue("@campusVisitDate",null);  
    }
于 2013-03-25T19:29:50.457 回答