请对数据库开发有经验的大富翁入内!!!!(50分)

  • 主题发起人 主题发起人 coolfun
  • 开始时间 开始时间
C

coolfun

Unregistered / Unconfirmed
GUEST, unregistred user!
在开发数据库程序中.大家一般是采用什么方法:

往一个表里添加数据,我的DBGRID或者DBEDIT等,他们的DATASOURCE假设都设成DS_A,
而DS_A则对应了一个DATASET(这里是关键)

对一个表的某条记录进行修改,也差不多采用上面的方法.

但是,如果我要对某些符合条件的记录进行操作(修改,删除),我应该怎么办呢.

其实我想问的就是,如果DS_A对应的是一个QUERY,那么,我能不能正常的进行添加,删除,修改
等操作?
 
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('UPDATE TableName SET FieldName=... WHERE ... ');
Query1.ExecSQL;
...
 
当然可以,
Query1.RequestLive := True;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from tablename where ...');
Query1.Open;
 
我的意思是,进行数据操作只通过DBNAVIGATOR,而不用SQL语句,这样行不行,反正DATASET是
可以的,但不知道QUERY可不可以!
 
应该可以的,datasource1.dataset := query1;
dbnavigator1.datasource := datasource1;
dbgrid.datasource := datasource1;
 
当然可以,TQuery是从TDataSet聚成下来的
 
可以的,方法类似于 yeath 所示
 
to:yeah
我就是采用你的方法,但我选出相应的记录后,再对某条记录进行编辑,结果出现"这个表是只
读的"这种情况!

我想问,用QUERY选出来的记录集是不是只读的?????
 
TQUERY是可以的,但前提尽量不要是多表JOIN来的数据集。
TADOQuery是可以更新多表JOIN的数据,有关ADO的可看看李维的书。
 
我用TADOQUERY试了,查询出来的记录是可以修改的,但是用的BDE中的TQUERY不可以.

如果我不想用TADOQUERY,而是用TQUERY,有什么方法能修改记录吗?
 
好像是不可以,现在已经很少有人用BDE了,还是用ADO吧。
 
后退
顶部