在Oracle中肯定没问题。我有个问题是在X3中无法取到数据. 代码如下;
lDS := TQuery.Create(nil);
lDS.ConnectionString:='DATABASEURL=Biz:\ECIS\ECISDB.Database';
lTransactionHandle :=lDS.Connection.Transaction.Start(False); //启动事务 Start
try
strSQL:='insert into x3_materialcfg_chg_log_tmp '
+' (m_id, m_sub_id, is_auto, signal_qty) '
+' select '
+' b.material_id, '
+' b.sub_material_id, '
+' 0, '
+' nvl(sub_material_qty,0) '
+' from x3_materialcfg_chg_log a ';
lDS.Close ;
lDS.CommandText :=strSQL;
lDS.Execute ;
lDs.Close ;
//注:确认了 插入了数据的。
lDS.Close ;
lDS.CommandText :='select * from x3_materialcfg_chg_log_tmp';
lDS.Open ;
jsDialogs.ShowMsg(SysUtils.IntToStr(lDS.RecordCount),'');
//这里 数据行为零
lDS.Connection.Transaction.Commit(lTransactionHandle); // 提交事务
except
lDS.Connection.Transaction.Rollback(lTransactionHandle); //回滚事务
raise;
end;
jsDialogs.ShowMsg(SysUtils.IntToStr(lDS.RecordCount),'');
//这里 数据行为零
finally
lDS.Free;
end; |