query1.Active;
query1.Close;
query1.sql.Clear;
query1.SQL.Add('select * from dbo.T_txttodb');
//query1.Prepare;
//query1.ExecSQL;
query1.Open;
以上是真实源代码,为什么用open 方法可以得出结果,而用EXECSQL方法结果集却是空的?
query1.Close;
query1.sql.Clear;
query1.SQL.Add('select * from dbo.T_txttodb');
//query1.Prepare;
//query1.ExecSQL;
query1.Open;
以上是真实源代码,为什么用open 方法可以得出结果,而用EXECSQL方法结果集却是空的?
解决方案 »
- 谁提供个delphi 2005的下载页面
- 问一个挺简单的基础问题,如何取得一个字符串的最后三位?在线等,急急急!
- FTP连接是否可用的测试.急用
- 我使用DataSource,我需要对数据源编辑修改,他老提示不能插入,或修改模式!
- 数据库类
- 一个关于DBGrid控件中使用下拉列表框的问题!
- 公司要让有一年Delphi开发经验的我改用JAVA开发应用程序,也就是Application,而且是有一定规模的,原来Delphi代码就30万行,心烦,放分
- 快来救急
- 请问怎样才能关闭一个外部程序?
- 我的程序最近总出现这些东西
- 操作10万记录的数据库,要求检索没有延迟(快),且最终的exe精巧(小),同时不希望占用太多内存,请问应采取哪种数据库存取方案?
- 除了这儿大家还常去哪儿交流?
Open:返回结果集,用于Select等操作!!!如果你的SQL 语句是Insert,Update等不返回数据集的语句而执行Open的话,系统会抛出异常!!
ExecSQL一般用于UPDATE,DELETE,INSERT语句
execsql是执行不需要返回数据集时使用的(如:insert ,update,delete,select into,create等)
一个不返回记录集。
Open常用于Select
ExecSql常用于insert Update delete 等等
ExecSQL 不返回结果集
select 是返回结果集的SQL语句,所以用open
像Insert,Update等用ExecSQL
反之则用open;
insert ,update,delete就要用到execsql;
select就要用open
他执行SQL语句。与OPEN不同的是,他不返回查询结果,适合与执行
Insert Update Delete 语句,而Open()实用与执行Select 语句。实例:
Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Delete From Country Where Name=''Argentina''');
Query1.ExecSQL;
反之则用open;
insert ,update,delete就要用到execsql;
select就要用open
说得对,例子:
with query1 do
close;
SQL.Clear;
SQL.Add('Delete From Country Where Name=''England''');
ExecSQL;
反之则用open;
insert ,update,delete就要用到execsql;
select就要用open
说得对,例子:
with query1 do
close;
SQL.Clear;
SQL.Add('Delete From Country Where Name=''England''');
ExecSQL;