2017-07-31 1 views
2

Quand je suis en train d'exécuter une requête d'insertion avec npgsqlcommand postgre en C#, l'exécution du programme est mise en veille cmd.ExecuteNonQuery(); Voici mon codeInsérer dans C# en utilisant Npgsql

public void Insert(Mouvement mvt) 
    { 
     NpgsqlConnection conn = null; 
     NpgsqlCommand cmd = null; 
     try 
     { 
      conn = UtilDB.GetConnection(); 
      String sql = "INSERT INTO MOUVEMENT(ID_AERONEF,ID_PF,ID_ESCALE,DATE,SENS,NVOL,PISTE,BLOC,PAXC,PAXY,PAXBB,PAXEXO," + 
       "TRANSITDIRECT,TRANSITRI,TRANSITRRLC,CONTINU,PN,FRETPAYANT,FRETGRATUIT,BAGAGE,POSTE,MODE,BALISAGE,OBSERVATION) "+ 
       "VALUES (:id_aeronef,:id_pf,:id_escale,:date,:sens,:nvol,:piste,:bloc,:paxc,:paxy,:paxbb,:paxexo," + 
       ":transitdirect,:transitri,:transitrrlc,:continu,:pn,:fretpayant,:fretgratuit,:bagage,:poste,:mode,:balisage,:observation)"; 
      conn.Open(); 
      cmd = new NpgsqlCommand(sql, conn); 
      cmd.Parameters.Add("id_aeronef", mvt.Aeronef.Id); 
      cmd.Parameters.Add("id_pf", mvt.Plateforme.Id); 
      cmd.Parameters.Add("id_escale", mvt.Escale.Id); 
      cmd.Parameters.Add("date", mvt.Date); 
      cmd.Parameters.Add("sens", mvt.Sens); 
      cmd.Parameters.Add("nvol", mvt.Nvol); 
      cmd.Parameters.Add("piste", mvt.Piste); 
      cmd.Parameters.Add("bloc", mvt.Bloc); 
      cmd.Parameters.Add("paxc", mvt.PaxC); 
      cmd.Parameters.Add("paxy", mvt.PaxY); 
      cmd.Parameters.Add("paxbb", mvt.PaxBB); 
      cmd.Parameters.Add("paxexo", mvt.PaxExo); 
      cmd.Parameters.Add("transitdirect", mvt.TransitDirect); 
      cmd.Parameters.Add("transitri", mvt.TransitRI); 
      cmd.Parameters.Add("transitrrlc", mvt.TransitRRLC); 
      cmd.Parameters.Add("continu", mvt.Continu); 
      cmd.Parameters.Add("pn", mvt.Pn); 
      cmd.Parameters.Add("fretpayant", mvt.FretPayant); 
      cmd.Parameters.Add("fretgratuit", mvt.FretGratuit); 
      cmd.Parameters.Add("bagage", mvt.Bagage); 
      cmd.Parameters.Add("poste", mvt.Poste); 
      cmd.Parameters.Add("mode", mvt.Mode); 
      cmd.Parameters.Add("balisage", mvt.Balisage); 
      cmd.Parameters.Add("observation", mvt.Observation); 
      cmd.Prepare(); 
      cmd.CommandType = CommandType.Text; 
      cmd.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     finally 
     { 
      if(cmd!=null) cmd.Dispose(); 
      if(conn!=null) conn.Close(); 
     } 
    } 
+0

Suspend que vous voulez dire le déclenchement d'une exception ?, pouvez-vous nous montrer ce message d'exception? Pouvez-vous vous assurer que votre conn est OK? – Ferus7

+0

Non il n'y a aucune exception, juste le programme ne continue pas l'exécution –

Répondre

1

Enfin, il a été problème de type: J'ai character(1) dans la base de données, mais String(10) dans C#