Bonjour,
J'ai une table avec laquelle je remplis un dictionnaire:
puis, j'insere certains enregistrements:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 foreach (DataRow row in myLocalDataTable.Rows) { Dictionary<String, Object> parameterList = new Dictionary<String, Object>(); parameterList["idsResultSessionLap"] = row["idsResultSessionLap"]; parameterList["idsResultSession"] = row["tblResultSessionLap.idsResultSession"]; parameterList["lngCycle"] = row["lngCycle"]; parameterList["lngLapNumber"] = row["lngLapNumber"]; parameterList["dtmTestEnd"] = row["dtmTestEnd"]; parameterList["blnECEnable"] = row["blnECEnable"]; parameterList["strECMode"] = row["strECMode"]; parameterList["dblECTemperature"] = row["dblECTemperature"]; parameterList["intECSegment"] = row["intECSegment"]; parameterList["blnAllTest"] = row["blnAllTest"]; parameterList["blnSuccess"] = row["blnSuccess"]; parameterList["blnNewLapTranfered"] = row["blnNewLapTranfered"]; parameterList["blnReadyToTransfer"] = row["blnReadyToTransfer"];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 String queryResultSessionLap = "INSERT INTO ResultSessionLap "; queryResultSessionLap += " (idsResultSession, lngCycle, lngLapNumber, dtmTestStart, dtmTestEnd, blnECEnable, strECMode, dblECTemperature, intECSegment, blnAllTest, "; queryResultSessionLap += " blnSuccess) "; queryResultSessionLap += " VALUES (" + iParameterList["idsResultSession"] + "," + iParameterList["lngCycle"] + ","; queryResultSessionLap += iParameterList["lngLapNumber"] + ", CONVERT(DATETIME, " + iParameterList["dtmTestStart"] + ")," + ", CONVERT(DATETIME, " + iParameterList["dtmTestEnd"] + "),"; queryResultSessionLap += iParameterList["blnECEnable"] + ", CONVERT(NVARCHAR(255), " + iParameterList["strECMode"] + ")," + iParameterList["dblECTemperature"] + ","; queryResultSessionLap += iParameterList["intECSegment"] + ", CONVERT(BIT, " + iParameterList["blnAllTest"] + ")," + " CONVERT(BIT, " + iParameterList["blnSuccess"] + "))"; SqlConnection myConnection = null; try { String connectionString = @"Data Source=SRVSQL2\DEV;Initial Catalog=ATE_Results;User ID=sa;Password=sadevpass"; myConnection = new SqlConnection(connectionString); SqlCommand myCommand = new SqlCommand(iQuery, myConnection); myConnection.Open(); myCommand.ExecuteNonQuery(); } catch (Exception e) { Console.WriteLine("L'erreur suivante a été rencontrée :" + e.Message); } finally { myConnection.Close(); }
Mon probleme est le suivant: bien souvent, des valeures du dictionnaire sont vides et ma requete lancée au serveur ne passe pas. La chaine de caractere qui est passée est:
On voit bien qu'il manque certaines valeures. De quelle façon puis-je modifier l'initialisation du dictionnaire pour que la requête fonctionne?
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO ResultSessionLap (idsResultSession, lngCycle, lngLapNumber, dtmTestStart, dtmTestEnd, blnECEnable, strECMode, dblECTemperature, intECSegment, blnAllTest, blnSuccess) VALUES (30,1,20, CONVERT(DATETIME, 2011-07-06 09:57:49),, CONVERT(DATETIME, ),False, CONVERT(NVARCHAR(255),),,, CONVERT(BIT, True), CONVERT(BIT, False))
J'obtiens l'exception suivante : {"Incorrect syntax near '09'."}
merci
Partager