看见很多用ADO开发数据库,当涉及到数据库/数据源的改变时有时要把譬如说ADOQuery置于Edit状态,操作完成之后还需显式调用Post方法。但有时又没有把ADOQuery置于Edit状态,或操作完成之后没有显式调用Post方法,例如说对ADOQuery :
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('sql命令略,关于insert 和 delete的');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('select 略');
Open;
end;
就没有将ADOQuery置于编辑状态。
所以请问到底什么时候要将ADO组件置于Edit状态,什么时候又不呢?
谢谢!!!!!!!!!!!!!
with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('sql命令略,关于insert 和 delete的');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('select 略');
Open;
end;
就没有将ADOQuery置于编辑状态。
所以请问到底什么时候要将ADO组件置于Edit状态,什么时候又不呢?
谢谢!!!!!!!!!!!!!
解决方案 »
- 春分之日,昼夜公平【照例散分帖】
- 这个问题有点偏……
- 能加快服务程序的启动、停止速度吗?
- wise打包的简单问题.
- 公开了机房管理系统的客户端源代码,有需要的请到http://hedaofeng.jahee.com/
- 请问各位哪里能找到fastreport的帮助资料,下载了没有说明,非常感谢
- 谁能写出这个SQL语句,我服了谁
- 如何返回一个记录集?
- 关于sqlserver的问题,不知道就是不知道!!
- 请问如何在没安装Delphi的机器上运行Delphi程序
- 如何让一个TPanel控件在运行期可以拖拽.
- 怎样让DBGridEh的某一字段可以手动添加负数、正数和小数?(已困扰多日,知道的请指教,谢谢!急,急,急,在线等候!!!)
当然也涉及到业务逻辑!
begin
Close;
SQL.Clear;
SQL.Add('sql命令略,关于insert 和 delete的');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('select 略');
Open;
end;楼主,上面的模式代码你从哪里得来的啊,有问题撒!正确的应该是:with ADOQuery do
begin
Close;
SQL.Clear;
SQL.Add('sql命令略,关于insert 和 delete的');
Open;
end;
一般在本地的内存里,要修改这个,先adoquery.edit让它处于编辑状态,才可以修改,修改完,要post才能提交到数据库,更新数据库,如果不post,那一般只修改了本机保存的数据集。至于用sql语句,那是直接对数据库表进行操作,不存在一个数据集让你edit,所以就不用adoquery.edit
begin
Close;
SQL.Clear;
SQL.CommandText:='sql命令略,关于insert 和 delete的';
ExecSQL;
Close;
SQL.Clear;
SQL.Add('select 略');
Open;
edit;//這里置于數據集為編輯狀態!因為你所需要是進行插入或者刪除之后的數據!
end;