首頁 >資料庫 >mysql教程 >為什麼參數的 SQL INSERT 語句失敗,如何修復它?

為什麼參數的 SQL INSERT 語句失敗,如何修復它?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-01 07:48:11729瀏覽

Why is my SQL INSERT statement with parameters failing, and how can I fix it?

SqlParameter 參數- 使用參數插入

問題:

嘗試使用SQL 將記錄插入資料庫指令,程式碼執行失敗。提供的代碼包括:

SqlCommand comand = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
SqlParameter ppar = new SqlParameter();
ppar.ParameterName = "@Product_Name";
ppar.Value = textBox1.Text;
MessageBox.Show("Done");
comaand.Parameters.Add(ppar);

答案:

要使用參數成功插入記錄,應使用以下程式碼使用:

SqlCommand cmd = new SqlCommand("INSERT INTO Product_table Values(@Product_Name, @Product_Price, @Product_Profit, @p)", connect);
cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar, ProductNameSizeHere).Value = txtProductName.Text;
cmd.Parameters.Add("@Product_Price", SqlDbType.Int).Value = txtProductPrice.Text;
cmd.Parameters.Add("@Product_Profit", SqlDbType.Int).Value = txtProductProfit.Text;
cmd.Parameters.Add("@p", SqlDbType.NVarChar, PSizeHere).Value = txtP.Text;
cmd.ExecuteNonQuery();

說明:

  • 避免使用AddWithValue,因為它可能會導致資料類型轉換問題。
  • 指定列INSERT 語句中的名稱(例如@Product_Name、@Product_Price)並使用提供其對應的值cmd.Parameters.Add(...).
  • 使用SqlDbType指定每個參數的資料型態。
  • 使用cmd.ExecuteNonQuery()執行指令並將記錄插入資料庫.

以上是為什麼參數的 SQL INSERT 語句失敗,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn