INSERT INTO multiple ligne avec procédure stockée et DataGridView
Salut le forum j'ai écrit une commande qui permet d'insérer les données dans une table,
Code:
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 38 39 40 41 42
| public string InsertVenteClient(VenteClients a)
{
string k;
try
{
d.connecter();
cmd.Connection = d.con;
cmd.CommandText = "spInsertVenteClient";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
cmd.Parameters.Add("@Dates", SqlDbType.DateTime).Value = a.Dates;
cmd.Parameters.Add("@IdDepot", SqlDbType.Int).Value = a.IdDepot;
cmd.Parameters.Add("@Idarticle", SqlDbType.Int).Value = a.Idarticle;
cmd.Parameters.Add("@IdAgences", SqlDbType.Int).Value = a.IdAgences;
cmd.Parameters.Add("@IdClients", SqlDbType.Int).Value = a.IdClients;
cmd.Parameters.Add("@IdUtilisateur", SqlDbType.Int).Value = a.IdUtilisateur;
cmd.Parameters.Add("@Numpiece", SqlDbType.NVarChar).Value = a.Numpiece;
cmd.Parameters.Add("@NumBC", SqlDbType.NVarChar).Value = a.NumBC;
cmd.Parameters.Add("@NumBL", SqlDbType.NVarChar).Value = a.NumBL;
cmd.Parameters.Add("@LIVRER", SqlDbType.NVarChar).Value = a.LIVRER;
cmd.Parameters.Add("@QUANTITE", SqlDbType.Decimal).Value = a.QUANTITE;
cmd.Parameters.Add("@PU", SqlDbType.Decimal).Value = a.PU;
SqlParameter para = new SqlParameter();
para.SqlDbType = SqlDbType.Int;
para.Direction = ParameterDirection.Output;
para.ParameterName = "@id";
cmd.Parameters.Add(para);
cmd.ExecuteNonQuery();
k = para.Value.ToString();
}
catch (Exception)
{
k = "-1";
}
finally
{
d.deconnecter();
}
return k;
} |
Code:
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
| VenteClients p = new VenteClients();
foreach(DataGridViewRow dr in dgvVenteclient.Rows)
{
p.IdAgences = Convert.ToInt32(dr.Cells[8].Value);
p.IdDepot = Convert.ToInt32(dr.Cells[7].Value);
p.Idarticle = Convert.ToInt32(dr.Cells[6].Value);
p.IdClients = Convert.ToInt32(dr.Cells[9].Value);
p.IdUtilisateur = Convert.ToInt32(dr.Cells[10].Value);
p.LIVRER =dr.Cells[5].Value.ToString();
p.QUANTITE =Convert.ToInt32(dr.Cells[2].Value);
p.PU = Convert.ToInt32(dr.Cells[3].Value);
p.Dates = Convert.ToDateTime(dr.Cells[0].Value);
p.NumBC = dr.Cells[12].Value.ToString();
p.NumBL = dr.Cells[13].Value.ToString();
p.Numpiece =dr.Cells[11].Value.ToString();
}
Insert j = new Insert();
string k = j.InsertVenteClient(p);
if (k == "-1")
{
MessageBox.Show("Rééssailler encore");
}
else
{
MessageBox.Show("Ajout effectué avec succés");
} |
le problème est que cela ne m'insert que la dernière ligne du Datagridview comment corrigé cela s'il vous plais