c# - Writing changes to a SQLite database using SqliteDataAdapter -
what missing following code? in code fragment, reading in table sqlite database. updating cell, , reading change.
this code simplified version of larger code, illustrates problem.
the code reads table perfectly, acceptchanges() not write back. verified repeated read , going sqliteadmin , perusing table.
i tried adding "olocaladapter.update(olocalset.tables[0]);" line, did not make difference. saw doing search.
using system.data.sqlite; // database (local): formulate sql command. string strsqlcommand = "select * [tbltest] order [idprimary] asc;"; sqlitecommand olocalcommand = new sqlitecommand(strsqlcommand, classengine.connection); // database (local): data records. sqlitedataadapter olocaladapter = new sqlitedataadapter(olocalcommand); dataset olocalset = new dataset(); olocaladapter.fill(olocalset, "tbltest"); // try write changes. string strvalue = olocalset.tables[0].rows[0][8].tostring(); olocalset.tables[0].rows[0][8] = 9; olocalset.tables[0].acceptchanges(); olocaladapter.update(olocalset.tables[0]); // clean up. olocalset.dispose(); olocaladapter.dispose(); olocalcommand.dispose(); olocalcommand = null;
okay, got it.
one, had relocate/modify acceptchanges() line.
that includes possible line
olocaladapter.acceptchangesduringupdate = true; i had add in
sqlitecommandbuilder obuilder = new sqlitecommandbuilder(olocaladapter); olocaladapter.updatecommand = obuilder.getupdatecommand(); the last line update , works. makes code:
// database (local): formulate sql command. string strsqlcommand = "select * tbltest order idprimary asc;"; sqlitecommand olocalcommand = new sqlitecommand(strsqlcommand, classengine.connection); // database (local): data records. sqlitedataadapter olocaladapter = new sqlitedataadapter(olocalcommand); dataset olocalset = new dataset(); olocaladapter.fill(olocalset, "tbltest"); // sqlitecommandbuilder obuilder = new sqlitecommandbuilder(olocaladapter); // try write changes. string strvalue = olocalset.tables[0].rows[0][8].tostring(); olocalset.tables[0].rows[0][8] = 9; strvalue = olocalset.tables[0].rows[0][8].tostring(); olocalset.acceptchanges(); olocaladapter.updatecommand = obuilder.getupdatecommand(); olocaladapter.update(olocalset.tables[0]); // clean up. olocalset.dispose(); olocaladapter.dispose(); olocalcommand.dispose(); olocalcommand = null;
Comments
Post a Comment