C # batch insert MySQL
String connectstring = "Server = localhost; user = root; database = dbtest; Port = 3306; Password =; charset = utf8 ";
Public static void batchsql (list <dataobj> List)
{
List <string> sqllist = new list <string> ();
List <mysqlparameter []> paralist = new list <mysqlparameter []> ();
foreach (dataobj Oh in list)
{< br> mysqlparameter [] parameters = new mysqlparameter [19];
parameters [0] = new mysqlparameter ("@ param1", mysqldbtype. varchar, 50);
parameters [0]. value = OH. param1;
parameters [1] = new mysqlparameter ("@ param2", mysqldbtype. varchar, 50);
parameters [1]. value = OH. param2;
Sqllist. Add (sqlinsert );
Paralist. Add (parameters );
}
Executetransaction (sqllist, paralist );
}
/**
* Execute transactions
**/
Public static void executetransaction (list <string> sqllist, list <mysqlparameter []> paralist)
{
// Debug. writeline (SQL );
Using (mysqlconnection connection = new mysqlconnection (connectstring ))
{
Mysqlcommand cmd = new mysqlcommand ();
Mysqltransaction transaction = NULL;
Cmd. Connection = connection;
Try
{
Connection. open ();
Transaction = connection. begintransaction ();
Cmd. Transaction = transaction;
For (INT I = 0; I <sqllist. Count; I ++)
{
Cmd. commandtext = sqllist [I];
If (paralist! = NULL & paralist [I]! = NULL)
{
Cmd. Parameters. Clear ();
Cmd. Parameters. addrange (paralist [I]);
}
Cmd. executenonquery ();
}
Transaction. Commit ();
}
Catch (exception E)
{
Try
{
Transaction. rollback ();
}
Catch
{
}
Throw E;
}
Finally {
If (connection! = NULL ){
Connection. Close ();
}
}
}
}
The dataobj class is defined as follows:
Class dataobj {
String param1;
String param2;
}