我使用以下代碼:多重插入使用的MySqlCommand
string cmd = "INSERT INTO " + Tables.Lux() + " VALUES(NULL, @Position, @Mode, @Timer)";
try
{
using (var MyConnection = new MySqlConnection(ConfigurationManager.ConnectionStrings["DataFormConnection"].ConnectionString))
{
using (MySqlCommand command = new MySqlCommand(cmd, MyConnection))
{
MyConnection.Open();
command.Parameters.Add(new MySqlParameter("Position", Element.Position));
command.Parameters.Add(new MySqlParameter("Mode", Element.Mode));
command.Parameters.Add(new MySqlParameter("Timer", Element.Timer));
command.ExecuteNonQuery();
}
}
}
我使用上面的代碼從含有100個項目元素的列表插入數據。我想只有一個查詢添加100個值,我知道,SQL語句類似於:
INSERT INTO table (a,b) VALUES (1,2), (2,3), (3,4);
,但我不知道如何使用MySqlCommand.Parameters
方法來應用結構。
我的目標是通過此函數List<Element>
而不是僅僅Element
並創建一個INSERT
語句,列表中的所有項目僅在一個查詢中執行。請幫忙嗎?
謝謝。
值是否來自另一個SQL表? –
您可以創建一個存儲過程調用一次,然後在這裏執行您的插入語句,如果您從另一個表插入,則可以使用此表生成將要插入的數據。 –
您的問題的答案在您的帖子/代碼中。你只需要添加參數而不是值。稍後,您可以在調用ExecuteNonQuery()方法之前替換參數值。 – adatapost