我怎么来把修该的数局写回到表里??????
谢谢!!!!!
8 个解决方案
#1
??????
#2
就
没有人回答吗?????
没有人回答吗?????
#3
应该不能直接改吧,
#4
取记录时字段来自哪个表,写回去也就写那个表,思路是这样的,如果用单一的DBGrid来实现也许有点困难
#5
估計你用的是BDE組件!如果是如此那麼就用BDE所配套UPDATASQL組件來更新數據
在UPDATASQL組件裡寫好更新語句!再將你的需要更新的數據集如QUERY的UPDATAObject
的屬性指向該UPDATASQL組件,cachedupdate設為TRUE,到時你修改了DBGRID的數據後
隻要調用該BDE數據集的ApplyUpdates和CommitUpdates方法,就能把相對應的修改提交給數據庫了!
在UPDATASQL組件裡寫好更新語句!再將你的需要更新的數據集如QUERY的UPDATAObject
的屬性指向該UPDATASQL組件,cachedupdate設為TRUE,到時你修改了DBGRID的數據後
隻要調用該BDE數據集的ApplyUpdates和CommitUpdates方法,就能把相對應的修改提交給數據庫了!
#6
方法一,用视图更新
sqlserver2000支持视图更新,但delphi ado解析的语句一般不正确,建议用视图+视图触发器的方法解决一般的多表查询更新问题
方法二,缓存更新,自己解析缓存数据包adoquery.recordset
对缓存数据包数据进行解析,生成相应的更新语句.执行这些语句
adoquery.FilterGroup 有这方面的支持,不过delphi7中用ADOQuery1.FilterGroup := fgPredicate;老是有问题,还没解决.
自己遍历每个记录每个字段的oldvalue\newvalue等.
sqlserver2000支持视图更新,但delphi ado解析的语句一般不正确,建议用视图+视图触发器的方法解决一般的多表查询更新问题
方法二,缓存更新,自己解析缓存数据包adoquery.recordset
对缓存数据包数据进行解析,生成相应的更新语句.执行这些语句
adoquery.FilterGroup 有这方面的支持,不过delphi7中用ADOQuery1.FilterGroup := fgPredicate;老是有问题,还没解决.
自己遍历每个记录每个字段的oldvalue\newvalue等.
#7
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图
详细可以参看oracle8i的说明
因为ORACLE8i数据库支持数据库视图
详细可以参看oracle8i的说明
#8
对不起
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图的触发器,可以将相应改变写入相应的表
详细可以参看oracle8i的说明
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图的触发器,可以将相应改变写入相应的表
详细可以参看oracle8i的说明
#1
??????
#2
就
没有人回答吗?????
没有人回答吗?????
#3
应该不能直接改吧,
#4
取记录时字段来自哪个表,写回去也就写那个表,思路是这样的,如果用单一的DBGrid来实现也许有点困难
#5
估計你用的是BDE組件!如果是如此那麼就用BDE所配套UPDATASQL組件來更新數據
在UPDATASQL組件裡寫好更新語句!再將你的需要更新的數據集如QUERY的UPDATAObject
的屬性指向該UPDATASQL組件,cachedupdate設為TRUE,到時你修改了DBGRID的數據後
隻要調用該BDE數據集的ApplyUpdates和CommitUpdates方法,就能把相對應的修改提交給數據庫了!
在UPDATASQL組件裡寫好更新語句!再將你的需要更新的數據集如QUERY的UPDATAObject
的屬性指向該UPDATASQL組件,cachedupdate設為TRUE,到時你修改了DBGRID的數據後
隻要調用該BDE數據集的ApplyUpdates和CommitUpdates方法,就能把相對應的修改提交給數據庫了!
#6
方法一,用视图更新
sqlserver2000支持视图更新,但delphi ado解析的语句一般不正确,建议用视图+视图触发器的方法解决一般的多表查询更新问题
方法二,缓存更新,自己解析缓存数据包adoquery.recordset
对缓存数据包数据进行解析,生成相应的更新语句.执行这些语句
adoquery.FilterGroup 有这方面的支持,不过delphi7中用ADOQuery1.FilterGroup := fgPredicate;老是有问题,还没解决.
自己遍历每个记录每个字段的oldvalue\newvalue等.
sqlserver2000支持视图更新,但delphi ado解析的语句一般不正确,建议用视图+视图触发器的方法解决一般的多表查询更新问题
方法二,缓存更新,自己解析缓存数据包adoquery.recordset
对缓存数据包数据进行解析,生成相应的更新语句.执行这些语句
adoquery.FilterGroup 有这方面的支持,不过delphi7中用ADOQuery1.FilterGroup := fgPredicate;老是有问题,还没解决.
自己遍历每个记录每个字段的oldvalue\newvalue等.
#7
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图
详细可以参看oracle8i的说明
因为ORACLE8i数据库支持数据库视图
详细可以参看oracle8i的说明
#8
对不起
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图的触发器,可以将相应改变写入相应的表
详细可以参看oracle8i的说明
将联合查询写为数据库的视图
因为ORACLE8i数据库支持数据库视图的触发器,可以将相应改变写入相应的表
详细可以参看oracle8i的说明