插入外键时必须声明标量变量错误
问题描述:
我在尝试使用按钮和文本框向数据库中插入数据时遇到此问题。插入外键时必须声明标量变量错误
Must declare the scalar variable "@IDprodajalne"
我得到那种绝望,所以我真的需要你的帮助,现在:除了一个外键是表内引发此错误,一切工作正常。
if (textBoxImeProdajalca.Text != "" && textBoxPriimekProdajalca.Text != "")
{
try
{
string query = "insert into Prodajalec values (@IDProadajalne, @ImeProdajalca, @PriimekProdajalca)";
using (connection = new SqlConnection(connectionString)
using (SqlCommand command = new SqlCommand(query, connection))
{
connection.Open();
command.Parameters.AddWithValue("@IDProdajalne", ComboBoxIDprodajalne.SelectedItem.ToString());
command.Parameters.AddWithValue("@ImeProdajalca", textBoxImeProdajalca.Text);
command.Parameters.AddWithValue("@PriimekProdajalca", textBoxPriimekProdajalca.Text);
command.ExecuteNonQuery();
}
MessageBox.Show("Uspešno dodano");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
else
{
MessageBox.Show("Vnesite vse podatke");
}
和字符串中的声明,错误
SqlConnection connection;
string connectionString;
public Form1()
{
InitializeComponent();
connectionString = ConfigurationManager.ConnectionStrings["Naloga.Properties.Settings.ProdajaConnectionString"].ConnectionString;
}
答
复制 “IDprodajalne”。按Ctrl + F搜索你的问题。它出现了两次,都在这一行:
command.Parameters.AddWithValue("@IDProdajalne", ComboBoxIDprodajalne.SelectedItem.ToString());
它不会出现在这行:
string query = "insert into Prodajalec values (@IDProadajalne,@ImeProdajalca,@PriimekProdajalca)";
“IDPro 一个 dajalne” 是从 “IDProdajalne” 不同的字符串。它有另一个“a”。
修复一个拼写在query
:
string query = "insert into Prodajalec values (@IDProdajalne,@ImeProdajalca,@PriimekProdajalca)";
你应该检查(http://blogs.msmvps.com/jcoehoorn/blog/2014 [我们可以停止使用AddWithValue()了吗?]/05/12/can-we-stop-using-addwithvalue-already /)并停止使用'.AddWithValue()' - 它可能会导致意外的和令人惊讶的结果... –