当我尝试使用按钮和文本框将数据插入数据库时,我遇到了这个问题。一切正常,除了表中的外键引发此错误:
必须声明标量变量" @ 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;
}
答案 0 :(得分:2)
从错误中复制“IDprodajalne”。按Ctrl + F搜索您的问题。在这一行中它出现了两次:
command.Parameters.AddWithValue("@IDProdajalne", ComboBoxIDprodajalne.SelectedItem.ToString());
它不出现在这一行:
string query = "insert into Prodajalec values (@IDProadajalne,@ImeProdajalca,@PriimekProdajalca)";
“IDPro a dajalne”是与“IDProdajalne”不同的字符串。它还有另一个“a”。
修正query
中的拼写:
string query = "insert into Prodajalec values (@IDProdajalne,@ImeProdajalca,@PriimekProdajalca)";