J'ai un problème lors de l'insertion de données dans une table.Sql Server CE L'insertion échoue sans erreur
J'ai fait un programme avec un DB simple. J'utilise
- C#
- Framework 3.5
- sql server mobile
- L'exécution du programme sur un périphérique GPRS. Chaque jour, il reçoit un fichier zip, l'extraire et insérer les lignes dans certaines tables.
Quelques citations
ouvrir la connexion:
SqlCeConnection conn = new SqlCeConnection("DataSource = " + file);
conn.Open();
Ecrire une rangée:
String sql = "INSERT INTO Mercati(id,descr) VALUES(643,'SHAMPOO')"
SqlCeCommand execute = conn.CreateCommand();
execute.CommandText = sql;
int result = execute.ExecuteNonQuery();
execute.Dispose();
Le tableau de données est comme ça:
CREATE TABLE Mercati(id int PRIMARY KEY,descr nvarchar(40));
Ceci est à l'intérieur d'un essai/catch. Et chaque fois que le résultat est 1 (j'ai coupé le code de débogage). Je répète cela sur des tables différentes, avec des données différentes.
Mais PARFOIS (1 fois 4/5 transmissions) avec une table les données ne sont pas insérées, avec le résultat = 1 et aucune exception.
- Chaque fois que je transmets, je réinitialise le périphérique et redémarre mon programme.
- Les tables sont vidées chaque fois (SUPPRIMER DE Mercati)
- Les données sont chaque fois les mêmes (ceux sont la base pour un travail, mais ils pourraient parfois changer un mois)
Je suis vraiment à court d'idées. Je ne comprends pas quel est le problème. Ou simplement comment puis-je résoudre ce problème. Une solution ou un conseil?
Merci beaucoup Daniele
Lire sur le contrôle des transactions. Il semble que vous ayez supposé que votre base de données était configurée pour AUTOCOMMIT, mais ce n'est pas le cas. – SeaDrive