On 15 Jun 2010, at 3:07pm, nmartin wrote: > I have a C# from which I am trying to perform a COMMIT. The INSERT does not > throw an error but no data is inserted.
What makes you think that no data is inserted ? If you quit your program after those instructions and examine the database with the command-line tool, does it show the newly-inserted row ? > { > SQLiteTransaction liteTransaction = > Connection.BeginTransaction(); > SQLiteCommand command = new > SQLiteCommand(insert.BuildInsert(tableName, keyValuePairs), Connection); > command.Transaction = liteTransaction; > command.ExecuteNonQuery(); > liteTransaction.Commit(); > } > catch (SQLiteException e) > { > //error > connection.Close(); > } That depends on how your library works. I have no idea what, for example '.BuildInsert()' does because it's not part of SQLite, nor can I tell if you're using .Commit() properly. You might want to ask about the above in a list where they understand whatever library 'SQLiteTransaction' is from. > And Just and Explicit Commit: > > INSERT INTO TestData > (deepbreathing,usertechnique,guidedimagery,yoga,exercise,meditation,prayer,somethingelse,howoften,numtechniques,userreturn,chosentechnique,chosentechnique)VALUES > ("true","I will try to use deep > breathing.","false","true","false","false","true","true","When I'm > stressed","1","true","deepbreathing","deepbreathing"); COMMIT; Strings in SQLite are surrounded with single quotes, not double quotes. And be careful of your apostrophe. For testing purposes leave it out until you're sure your software works generally. Also, you show a minor misunderstanding of how transactions work. Some programmers omit all commands to do with transactions. If SQLite finds it's doing a data-changing command without you having started a transaction first, it will handle that command as if it's in its own transaction. In other words it will do BEGIN; <your command here>; COMMIT for you. You would not need the extra COMMIT command because SQLite already took care of it. On the other hand, had you explicitly declared a transaction by putting a BEGIN before your INSERT, then nothing would be COMMITted until your own explicit COMMIT command. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users