Нужно загрузить много строк с данными в MySQL на WinForms проекте.
Попробовал так:
//Cписок для команд
List<MySqlCommand> listCommands = new List<MySqlCommand>();
//Добавляю много команд в список таким способом
string com = "INSERT INTO tbl_name (Column1, Column2, Column3) VALUES (@Value1, @Value2, @Value3);";
MySqlCommand command = new MySqlCommand(com);
command.Parameters.AddWithValue("@Value1", var1);
command.Parameters.AddWithValue("@Value2", var2);
command.Parameters.AddWithValue("@Value3", var3);
listCommands.Add(command);
//Прохожусь по списку и применяю каждую команду из списка
using (MySqlConnection con = DBUtils.GetDBConnection())
{
con.Open();
foreach (var c in listCommands)
{
c.Connection = con;
c.Prepare();
c.ExecuteNonQuery();
}
con.Close();
}
но беда в том что так получается медленно.
Как можно добавлять значения переменных для такой конструкции:
string com = "INSERT INTO tbl_name (Column1, Column2, Column3)
VALUES
(@Value1, @Value2, @Value3),
(@Value1, @Value2, @Value3),
(@Value1, @Value2, @Value3),
(@Value1, @Value2, @Value3);";
т.е чтобы сразу множество строк добавлялось одним инсертом, я думаю это решило бы проблему.