J'ai une liste d'éléments que je veux insérer dans la base de données mais je ne veux pas de doublons. Donc, je supprime tous les éléments et réinsérer tout. Ce n'est pas le moyen le plus efficace, mais ce n'est pas beaucoup d'éléments donc ça marche pour moi. Mais j'ai une erreur de syntaxe près de "Insert". Je fais ce qui suit:Sqlite Transaction, erreur de syntaxe. Insérer et supprimer dans la même transaction
DELETE FROM Settings WHERE Type = 'Extensions'
INSERT INTO Settings (Value, Type) Values ('img', 'Extensions')
INSERT INTO Settings (Value, Type) Values ('avi', 'Extensions')
INSERT INTO Settings (Value, Type) Values ('mpg', 'Extensions')
INSERT INTO Settings (Value, Type) Values ('mkv', 'Extensions')
INSERT INTO Settings (Value, Type) Values ('mov', 'Extensions')
INSERT INTO Settings (Value, Type) Values ('iso', 'Extensions')
et l'exécuter avec ceci:
protected bool ExecuteCommand(string command, bool rollbackOnError)
{
using (SQLiteTransaction transaction = DbConnection.BeginTransaction())
{
try
{
using (SQLiteCommand mycommand = new SQLiteCommand(DbConnection))
{
mycommand.CommandText = command;
mycommand.ExecuteNonQuery();
transaction.Commit();
}
}
catch
{
if (rollbackOnError)
{
transaction.Rollback();
}
return false;
}
}
return true;
}
Merci, je ne peux pas croire que j'ai raté ça. Il peut exécuter plusieurs instructions si –
Bien sûr, il ne peut tout simplement pas accepter GO. Je me souviens d'avoir un problème avec SQL Server ne pas être en mesure d'exécuter plusieurs déclarations, mais peut-être tort ... âges depuis touché des données de base sans ORM. – Aliostad