Je suis en train d'utiliser la bibliothèque System.Data.Sqlite, et je suis la documentation sur l'optimisation des inserts donc je copier ce code directement de la documentation:SQLite.Net Problème avec BeginTransaction
using (SQLiteTransaction mytransaction = myconnection.BeginTransaction())
{
using (SQLiteCommand mycommand = new SQLiteCommand(myconnection))
{
SQLiteParameter myparam = new SQLiteParameter();
int n;
mycommand.CommandText = "INSERT INTO [MyTable] ([MyId]) VALUES(?)";
mycommand.Parameters.Add(myparam);
for (n = 0; n < 100000; n ++)
{
myparam.Value = n + 1;
mycommand.ExecuteNonQuery();
}
}
mytransaction.Commit();
}
maintenant, j'initialiser le droit de connexion I avant que l'utilisation
SqlConnection myconnection = new SqlConnection("Data Source=blah");
J'ai une base de données nommée blah, avec les bonnes tables et les valeurs.
Le problème est quand je lance ce code, il dit: « Le fonctionnement est pas valide en raison de l'état actuel de l'objet »
J'ai essayé de changer le code autour de plusieurs fois, et il pointe encore à BeginTransaction . Ce qui donne?
J'ai un code où je haved transactions utilisées avec SQLite, mais pas sur ma machine de travail. Si je me souviens, je vais jeter un oeil sur ma machine personnelle pour vous ce soir ... Martin. –
Je suis un idiot, merci. Ouais, j'avais tout travaillé avant la transaction, je suppose que j'avais oublié que je devais ouvrir la connexion haha. – cam
Aucun problème matey ... –