(一)“對於不返回任何鍵列信息的 SelectCommand,不支持 UpdateCommand 的動態 SQL 生成。”
通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:通過oleCommandBuilder和adapter的update方法更新數據庫不成功,會報錯:
原因:
微軟C#與oracle的兼容性不夠好。
解決方法:
使用oracleCommandBuilder代替原始的oleDbCommanderBuilder。
原始代碼:
OleDbDataAdapter adapter1 = new OleDbDataAdapter(strSql, PopedomOper.m_oleDbConn);
OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(adapter1);
adapter1.Update(PopedomOper.m_dtFulltable);
改正:
OracleConnection orclCon = new OracleConnection(strOriginalCon);
OracleDataAdapter orclAdapter = new OracleDataAdapter(strSql, orclCon);
OracleCommandBuilder thisOrclBuilder = new OracleCommandBuilder(orclAdapter);
orclAdapter.Update(PopedomOper.m_dtFulltable);