delphi中的SQL语句问题?   (50分)

  • 主题发起人 主题发起人 剑无心
  • 开始时间 开始时间

剑无心

Unregistered / Unconfirmed
GUEST, unregistred user!
请教:我的sql语句要这样实现
select top 3 * from table1 where aaa='abc.pic' order by a desc

要动态实现:
sqlstr:='select top 3 * from table1 where aaa=' 以后怎么写?
——————————
剑无心,见无形[:)]
 
delphi中

sqlstr:='select top 3 * from table1 where aaa='+#39+'abc.pic' '+#39+' order by a desc ';
 
select top 3 * from table1 where aaa=:namestr order by a desc

parameters.parabyname('namestr').asstring:='abc.pic'
 
可惜程序不认为这是正确的,
另外:aaa的数据类型为nvarchar
 
sqlstr:='select top 3 * from table1 where aaa=' + '''abc.pic + ''' +' order by a desc '
 
sqlstr:='select top 3 * from table1 where aaa=:aaa'
query.sql.clear;
query.sql.add(sqlstr)
query.params.parambyname('aaa').value:='abc.pic'
query.prepare
query.open
 
picStr:='abc.pic';
SqlStr:='Select top3 * from table1 where aaa='''+picStr+''' order by a desc';
 
出现的提示为:Invalid variant type conversion.
 
>>sqlstr:='select top 3 * from table1 where aaa=' 以后怎么写?
sqlstr := 'select top 3 * from table1 where aaa=' + '''' + 'abc.pic' + '''' + ' order by a desc';



 
sqlstr:='select top 3 * from table1 where aaa=' + '''' + abc.pic + '''' + 'order by a desc ';
 
fly_delphi 的解释是正确的。
 
var
str1:string;
SqlStr:=format('Select top 3 * from table1 where (aaa=%s) order by a desc',[str1]);
 
可是错误的提示总是相同的
 
来晚了。这么多好方法,我再说就是“同上”了。[:D]
 
关键是你的后台数据库是什么?不同的数据库平台语法不同。
 
后台数据库是:sqlserver2000
 
with query1 do
begin
close;
sql.clear;
sql.add(''select top 3 * from table1 where aaa=:aaa order by a desc ');
params[0].asstring:=外部传入的值;
prepare;
open;
end;
 
可是我没有使用Tquery组件
 
受不了了,你把你的调用代码还是贴出来吧。
 
用一个COMBOBOX把字符加进去然后
SQL:=COMBOBOX1.ITEMS;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
445
import
I
后退
顶部