2017-05-08 16 views
1

ボタンとテキストボックスを使用してデータベースにデータを挿入しようとすると、この問題が発生します。私は本当に今、あなたの助けを必要とするので、私は必死の種類を取得しています外部キーを挿入するときにスカラー変数エラーを宣言する必要があります

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; 
} 
+0

あなたがチェックアウトする必要があります(http://blogs.msmvps.com/jcoehoorn/blog/2014 [すでに)我々はAddWithValueを(使用を停止することはできますか?]/05/12/can-we-stop-using-addwithvalue-already /) '.AddWithValue()'の使用を止めてください - 予期せぬ驚くべき結果につながる可能性があります... –

答えて

2

コピー "IDprodajalne"。 Ctrl + Fキーを押して質問を検索します。それは両方のこの行では、二回表示されます。

command.Parameters.AddWithValue("@IDProdajalne", ComboBoxIDprodajalne.SelectedItem.ToString()); 

これは、この行に表示されません。

string query = "insert into Prodajalec values (@IDProadajalne,@ImeProdajalca,@PriimekProdajalca)"; 

「IDPro dajalneは」「IDProdajalne」とは異なる文字列です。それには別の「a」があります。

query中1のスペルを修正:

string query = "insert into Prodajalec values (@IDProdajalne,@ImeProdajalca,@PriimekProdajalca)"; 
+0

ここにイーグルアイがあります:) – Hituptony

+2

EaglesはCtrl + Fを使用しません!彼らがそうした場合、Outlookは彼らを夢中にさせるだろう。 –

+0

さて、それはとても簡単でした。どうもありがとうございます。 –

関連する問題