什么,必须声明标量变量@vendor是什么意思?

时间:2014-12-01 03:58:28

标签: c# sqlcommand

我已阅读其他帖子并尝试,更改并再次尝试,只是回到下面的代码。我无法弄清楚为什么没有声明“@vendor”。它必须是非常简单的东西,我已经看了很久,以至于我看不到它。

private string Get_Vendor_ID()
{
    string vendor_ID = "";
    string vendor = vendorTextBox.Text;
    string SQL = "SELECT Vendor_ID FROM Vendor WHERE Vendor_Name = @vendor";
    SqlCommand sqlCommand = new SqlCommand(SQL, DataAccessClass.sql_Connection);
    sqlCommand.Parameters.AddWithValue("@vendor_ID", vendor_ID);
    sqlCommand.Parameters.AddWithValue("@Vendor_Name", vendor);
    DataAccessClass.OpenConnection();
    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();

    while (sqlDataReader.Read())
    {
        vendor_ID = sqlDataReader["Vendor_ID"].ToString();
    }
    DataAccessClass.CloseConnection();
    return vendor_ID;
}

任何建议都会很棒。

1 个答案:

答案 0 :(得分:3)

看看这条特定的行,

sqlCommand.Parameters.AddWithValue("@vendor_ID", vendor_ID);
sqlCommand.Parameters.AddWithValue("@Vendor_Name", vendor);

没有@vendor声明

尝试将其更改为。

string SQL = "SELECT Vendor_ID FROM Vendor WHERE Vendor_Name = @Vendor_Name";