我已阅读其他帖子并尝试,更改并再次尝试,只是回到下面的代码。我无法弄清楚为什么没有声明“@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;
}
任何建议都会很棒。
答案 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";