我在存储过程中写到
declare sqlstr varchar(200)
sqlstr:='select * from'+@tablename+'where '+sqlstr
execsql;
我在adoquery中调用要用到like;
例如:id like '%edit1.text%'调试的半天,还是没有解决。
我是这么写的:
var sqlstr:string;
sqlstr:='1<>0';
sqlstr:=sqlstr+'and id like '%edit1.text%';
数据库是SQL7,DELPHI5,IBMT30
declare sqlstr varchar(200)
sqlstr:='select * from'+@tablename+'where '+sqlstr
execsql;
我在adoquery中调用要用到like;
例如:id like '%edit1.text%'调试的半天,还是没有解决。
我是这么写的:
var sqlstr:string;
sqlstr:='1<>0';
sqlstr:=sqlstr+'and id like '%edit1.text%';
数据库是SQL7,DELPHI5,IBMT30
记住一点在Delphi字符串中两个单引号代表最后显示出来的一个ePing
sqlstr:='1<>0';
sqlstr:=sqlstr+'and id like '+''''+'%edit1.text%'+'''';
sqlstr:='1<>0 ';//这里不有一个问题。多空一个格出来。要不然和and 连在一起了。
adoquery1.Parameters.ParamByName('de').Value:='%'+text+'%';
好简单的,也非常好用
就是上面的语句,在查询分析器里执行一定没问题,sqlstr:=sqlstr+'and id like '+''''+'%'+trim(edit1.text)+'%'+'''';
你用监视器看一下就知道么回事,
看来你也和我犯了同样的错误——看问题比较简单
你用SHOWMESSAGE(SQLSTR)
看看你的SQLSTR是什么内容!
在Sql server 一定没问题
showmessage('and id like '+''''+'%'+trim(edit1.text)+'%'+'''');
显示结果。
and id like '%edit1%'
as
begin
declare sqlstr varchar(200)
set sqlstr:='select * from'+@tablename+'where '+str//这条语句前加个
exec(sqlstr)
end;
as
begin
declare sqlstr varchar(200)
set sqlstr:='select * from'+@tablename+'where '+str//这条语句前加个
exec(sqlstr)
end;
SQLSTR:='1<>0' AND 'ID LIKE "%123%"'
不信你试试看。
如果
SQLSTR:='1<>0' AND 'ID LIKE '%123%''
肯定报错!
as
begin
declare @sqlstr varchar(200)
set SqlStr = 'select * from ' + @tablename + ' where ' + Str ;
Exec(SqlStr) ;
end;
Str := '1 <>0 and id like ''%' + Edit1.Text +'%''' ;对吗 ?
as
begin
declare @sqlstr varchar(200)
set @SqlStr = 'select * from ' + @tablename + ' where ' + Str ;
Exec(@SqlStr) ;
end;
Str := '1 <>0 and id like ''%' + Edit1.Text +'%''' ;对吗 ?