提示 數(shù)據(jù)導(dǎo)入成功 但是查庫里無數(shù)據(jù) 求解 備注:dt 為將要導(dǎo)入的數(shù)據(jù) ,tablename 將要導(dǎo)入的表名void?CZDataSource(DataTable?dt,string?tablename)
????????{
????????????var?sql?=?string.Format("select?*?from?{0}?",?tablename);
??
????????????using(OracleConnection?con=new?OracleConnection(DBHelp.dbConnectionString))
????????????{
????????????????con.Open();
????????????????OracleTransaction?tran?=?con.BeginTransaction();
????????????????OracleCommand?cmd?=?new?OracleCommand(sql,?con);
????????????????OracleDataAdapter?adapter?=?new?OracleDataAdapter(cmd);
???????????
????????????????cmd.Transaction?=?tran;
????????????????try
????????????????{
????????????????????DataTable?dss?=?new?DataTable();
????????????????????adapter.Fill(dss);
??????????????????
????????????????????dss.Merge(dt);??? // 數(shù)據(jù)合并?????????????
???????????????????adapter.UpdateBatchSize?=?600;
????????????????????OracleCommandBuilder?cb?=?new?OracleCommandBuilder(adapter);
?????????????????
????????????????????DataTable?dssfb?=?dss.GetChanges();
????????????????????if?(dssfb?!=?null)
????????????????????{
????????????????????????adapter.Update(dssfb); // 這里更新表的副本但是提示為null
????????????????????}
????????????????????else
????????????????????{
????????????????????????adapter.Update(dss);
????????????????????}
????????????????????dss.AcceptChanges();
????????????????????tran.Commit();
???????????????????My.ClientScript.Alert(this,?"同步數(shù)據(jù)成功!");
????????????????}
????????????????catch(Exception?ex)
????????????????{
????????????????????tran.Rollback();
????????????????????My.ClientScript.Alert(this,?"同步數(shù)據(jù)失??!"+ex.Message.ToString());
????????????????????con.Close();
????????????????}
????????????}
????????}
1 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
合并dt好像是不會(huì)標(biāo)記行的。當(dāng)添加行的時(shí)候會(huì)對(duì)應(yīng)有個(gè)修改狀態(tài)。直接合并沒有。
- 1 回答
- 0 關(guān)注
- 419 瀏覽
添加回答
舉報(bào)
0/150
提交
取消