updatesql的简单问题,送分(200分)

  • 主题发起人 主题发起人 425
  • 开始时间 开始时间
4

425

Unregistered / Unconfirmed
GUEST, unregistred user!
我用query 同时对几张表进行查询,查询结果显示在dbgrid中
由于结果集不能进行增、删、改的操作,我想在上面放updatesql
1、我把Query 的:CatchedUpdates= true,RequestLive=true,
UpdateObject=UpdateSQL1;
2、QUERY的AfterPost时间中
加入 Query1.ApplyUpdates;
Query1.CommitUpdates;
由于我没有用过updatesql,我有如下问题
1、我不知updatesql的delete,insert等如何写,因为我要修改
几张表的内容,into 那张表?
2:我看到例子里有些参数,参数怎么串进来的?
3:我希望的结果是虽在多张表中但通过dbgrid可象在单表添加、删除一
样的方便。


 
1、建议您使用视图,把几张表联系起来。
2、用QUERY查询这个视图,使CatchedUpdates= true、dateObject=UpdateSQL1
3、双击UpdateSQL1,在Table Name处添入视图名,然后单击Get Table Fields
按纽,选中Key Fields及Update Fields列表中的全部字段,再单击Generate SQL,
即可生成SQL语句。
4、这时您可在dbgrid中进行增、删、改的操作,在执行Query1.ApplyUpdates
后,数据会写回数据库。
 
奇怪,居然没人回答这个问题?
1. 用 UpdateSQL时,Query的 RequestLive 必须设为 False。
2. UpdateSqL 中的Insert、Delete语句的写法,很简单,在的字段上加一个Old_前
缀,就代表原来的字段。一般不用自己写,在 UpdateSQL 控件上按右键,选择
生成器,就可以自动生成了。
3、想同时对几个表修改,我认为不可能,因为Select语句总是对应于一个主表的。
但你可以试试同时写几个 UpdateSqL, 在需要的时候对Query的UpdateSQL object
进行动态修改。
 
我也认为不可能同时对几个表进行修改,只能对一张表修改。
 
首先谢谢sheldon and crab两为大侠,
我准备用临时表的形式,但您们能在详细的写个例子吗?真是有劳了!
 
在oracle中建临时表用# 总是报错?
 
我现在把查询生成了一个表,
在一个表里查询应该容易了,
但问题是我要动态写updatasql的属性,该如何写
恕我愚笨,请写明例子
 
我现在碰到入下问题:
在提交时,报错类型不可识别
 
黑暗中摸索......
我的问题在摸索中逐步细化,还望各位大侠能助我前行!
1:我动态创建了视图,然后把updatasql的各个属性动态负值,包括SQL语句但
仍不能录入,我的问题是这种方法真的能实现多表查询后的录入吗?
2:按照crab所言我想用多个updatasql,但在程序执行前我不知道要在几张
表里查询,故我需要动态生成updatasql,但在一个DBGRID中用多个updatasql
可行吗?
还请关照!!
 
如想自己操纵,可以在数据集的OnUpdateRecord事件中做进一步的处理
 
在一个 DBGrid 中用几个 updateSQL 是可以的,包括它的语句都可以随时更新。
 
我也遇到这样的问题,至于属性设置前面各位已经说了,我就不噜苏了!
我在DATAMODULE中放了一一对应的QUERY+UPDATESQL,用一个DBGRID,当然
也只能用一个DATASOURCE,这样DATASOURCE的DATASET动态的对应QUERY就可以了!
但我有两个问题,第一:由于我要更新的表很多,所以我需要近30个QUERY
 
但我也有两个问题:第一 由于我要更新的表很多,所以我需要近30个QUERY
请问这是不是我连接数据库特别慢的原因??
第二:与425的问题差不多!就是我希望在程序中动态的控制QUERY+UPDATESQL,这样我可以只用一对QUERY+UPDATESQL!现在的主要问题
是如何在程序中动态的实现UODATESQL的‘GENERATE SQL’的功能,我不希望
一个一个的填写SQL!!!不知如何实现???
 
1、建议您使用视图,把几张表联系起来。
2、用QUERY查询这个视图,使CatchedUpdates= true、dateObject=UpdateSQL1
3、双击UpdateSQL1,在Table Name处添入视图名,然后单击Get Table Fields
按纽,选中Key Fields及Update Fields列表中的全部字段,再单击Generate SQL,
即可生成SQL语句。
4、这时您可在dbgrid中进行增、删、改的操作,在执行Query1.ApplyUpdates
后,数据会写回数据库。
 
1:我动态创建了视图,然后把updatasql的各个属性动态负值,包括SQL语句但
仍不能录入,我的问题是这种方法真的能实现多表查询后的录入吗?
2:按照crab所言我想用多个updatasql,但在程序执行前我不知道要在几张
表里查询,故我需要动态生成updatasql,但在一个DBGRID中用多个updatasql
可行吗?
 
tangming say what i want ,who can tell me ?
 
使用query有时只是将缓存的东西进行了修改,并没有向数据库提交,至于用updatesql还望
各位继续探讨,对于不同的数据数:如oracle,foxpro等,sql语名语法有些不同.
 
多人接受答案了。
 
后退
顶部