1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| /// <summary>
/// insère une ligne composée de listes en base
/// (note mieux vaut utiliser un vrai objet en paramètre)
/// </summary>
/// <param name="cols1">colonne 1</param>
/// <param name="cols2">colonne 2</param>
public static void INSERT(List<int> cols1, List<decimal> cols2)
{
using (var connexion = new OracleConnection()) // changer le provider dans le cadre SQL_SERVER
{
string sql = "INSERT INTO TABLE (COL1,COL2 ) VALUES (:VAL_COL1,:VAL_COL2)";
connexion.Open();
OracleCommand cmd = connexion.CreateCommand(); // changer l'objet de commande dans le cadre SQL_SERVER
cmd.CommandText = sql;
cmd.CommandType = CommandType.Text;
cmd.BindByName = true;
cmd.ArrayBindCount = cols1.Count; // on compte le nombre de ligne à insérer
// Binding des valeurs des lignes à insérer
cmd.Parameters.Add(":VAL_COL1", OracleDbType.Int32, cols1.ToArray(), ParameterDirection.Input);
cmd.Parameters.Add(":VAL_COL2", OracleDbType.Decimal, cols2.ToArray(), ParameterDirection.Input);
try
{
cmd.ExecuteNonQuery();
// CustomLogs.Write(cmd.ArrayBindCount + " BulkInserts réussi");
}
catch
{
// CustomLogs.Write(cmd.ArrayBindCount + " [ERREUR] BulkInserts ratés");
}
connexion.Close();
}
} |
Partager