当前位置:首页 » 编程语言 » adoquerysql

adoquerysql

发布时间: 2022-07-22 19:45:59

① delphi程序在使用adoquery执行sql语句的时候,如何判断SQL语句全部已经执行完成

在Delphi中进行字符变量连接相加时单引号用('''),又引号用('''')表示
首先定义变量
var
AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某些情况下不对
AnIntStr:string='456';
AStr:string='abc';
AFieldName: string='字符型编号';
ATableName: string='YourTable';
ADate:Tdatetime=now;
Adoquery1:tadoquery;
1,Delphi语句
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 字符型编号='abc' and 整型编号=123';
等价于
adoquery1.sql.text:=
'select '+AFieldName+' from '+ATableName+' where '+AFieldName
+'='''+AStr+''' and 整型编号='+AnIntStr;
也等价于
adoquery1.sql.text:=
'select '+AFieldName+' from '+ATableName+' where '+AFieldName
+'='+QuotedStr(AStr)+' and 整型编号='+Inttostr(AnInt);
传到数据库服务器为:
select 字符型编号 from YourTable where 字符型编号='abc' and 整型编号=123
2,Delphi语句中日期表示
对于access数据库:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段=#2003-12-01#';
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段=#'+FormatDateTime('yyyy-MM-dd',now)+'#';
传到服务器为:
select 字符型编号 from YourTable where 日期型字段=#2003-12-01#
对于MSSQL数据库:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='2003-12-01'';
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='''+FormatDateTime('yyyy-MM-dd',now)+'''';
也等价于:
等价于:
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段='+QuotedStr(FormatDateTime('yyyy-MM-dd',now));
传到服务器为:
select 字符型编号 from YourTable where 日期型字段='2003-12-01'
日期字段还可以这样表示
Delphi语句
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段>='+QuotedStr(FormatDateTime('yyyy-MM-dd',now))

+' and 日期型字段<='+QuotedStr(FormatDateTime('yyyy-MM-dd',now+1));//明天
等价于
adoquery1.sql.text:=
'select 字符型编号 from YourTable where 日期型字段 between '+QuotedStr(FormatDateTime('yyyy-MM-dd',now))
+' and '+QuotedStr(FormatDateTime('yyyy-MM-dd',now+1));

如果用
adoquery1.sql.add();
形式又如何操作?请用Insert语句示例
adoquery1.sql.add(' insert into '+AtableName);
adoquery1.sql.add(' ( '+AFieldName+')');
adoquery1.sql.add(' values( '+quotedstr(AStr)+')');

② delphi 组件中adoquery组件的SQL语句如何用到变量

有几种写法
1、一种是拼sql语句:query.sql.text := 'select * from tb1 where id ='+quotetostr(edit1.text);
2、一种是写成传参数的形式:
query.sql.text := 'select * from tb1 where id=:@Value1';
query.Parameters.ParamByName('@Value').Value:= edit1.text;
后一种写法的好处是你写的时候不需要理会参数的数据类型,第一种写法在参数类型多的时候经常需要改类型,而且经过本人实验,在重复使用的时候,后面一种的执行效率更好。

③ Delphi中ADOQUERY的sql语句

现你写的不就是吗?
select * from tab where cname=:b
这样就会产生一个参数。然后给参数赋值。
(关QUERY,参与赋值,开QUERY)

④ 用ADOQuery怎样传递sql的参数呀

Parameters
.Value:=f_lf.edit1.textParameters
.Value......当然程序少了一些控制代码,还是你自己具体情况具体分析吧

⑤ 通过ADOQuery的SQL语句改写或者添加记录

str:= '''1'',''2'',''3'',''4''';
with ADOQuery1 do
begin
close;
sql.clear;
sql.add('insert into table1(ID,name,sex,age) values ('+str+')');
//sql.add('insert into table1(ID,name,sex,age) values (:sa)');
//Parameters.ParamByName('sa').value:='''1'',''2'',''3'',''4''';
execsql;
end;
可以用str生成语句,但无法用sa这种格式。
生成语句是不安全的。

⑥ 如何指定ADOQuery 的 SQL 属性

如果动态加就这样写
ADOQuery
.sql.text:='select
*
from
表名'
如果静态就在ADOQuery
属性中的SQL中写上你的查询语句。

⑦ delphi用adoquery 执行两个sql

var
sql1,sql2:String;
sql1
:=
'delete
from
'+edit9.text';
ss_sql:='FROM
OPENROWSET('+char(39)+'SQLOLEDB'+char(39)+','+char(39)+edit1.Text+char(39)+';'+char(39)+edit2.text+char(39)+';'+char(39)+maskedit1.Text+char(39)+',';
ss_sql:=ss_sql+char(39)+'SELECT
*
FROM
'+edit3.text+'.'+'dbo.'+edit8.text+'
where
InsertTime>='+ss_time+char(39)+')
as
a';
sql2
:='insert
into
'+edit9.text+'
select
a.*
'+
ss_sql;
try
sql.Text:=sql1;
//删除
execsql;
sql.Text:=sql2;
//插入
execsql;
memo1.Lines.Append(datetimetostr(now)+'
成功复制['+ss_time+']以后数据!');
except
memo1.Lines.Append(datetimetostr(now)+'
复制['+ss_time+']以后数据失败!');
end;
....
大致如上,楼上的
代码
少了一行execsql;
而且是连个execsql最好是一块放在try
except
中...
另外补充的是:
两条
语句
一块执行,建议加个事务,防止数据出现不完整..

⑧ 使用adoquery执行sql指令超时有什么解决方法

查看执行计划,如果是查询语句本身比较慢,就想办法优化查询语句,但并不是所有的sql语句都可以优化,有的查询语句已经是最优了,但还是执行时间很长,这时就要从数据结构方面去考虑了,数据记录达到百万级千万级就要考虑拆分表,把表的文本字段分出去等!

热点内容
存储过程循环日期 发布:2025-02-25 02:37:41 浏览:171
linux磁盘占用 发布:2025-02-25 02:08:19 浏览:635
苹果和安卓蓝牙如何传音乐 发布:2025-02-25 02:03:04 浏览:210
安卓手机如何测充电次数 发布:2025-02-25 02:01:45 浏览:730
大橙子服务器IP 发布:2025-02-25 02:00:46 浏览:669
kalilinux密码 发布:2025-02-25 01:55:57 浏览:284
linux生效环境变量 发布:2025-02-25 01:55:17 浏览:791
dnf攻击算法 发布:2025-02-25 01:55:07 浏览:341
如何申请出国访问学者 发布:2025-02-25 01:53:39 浏览:1001
伪原创算法 发布:2025-02-25 01:49:52 浏览:708