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

Popular posts from this blog

c# - Operator '==' incompatible with operand types 'Guid' and 'Guid' using DynamicExpression.ParseLambda<T, bool> -