gpt4 book ai didi

mysql - Delphi Mysql 参数使用整数而不是字符串

转载 作者:行者123 更新时间:2023-11-29 12:09:51 24 4
gpt4 key购买 nike

我已将下面的查询创建为过滤器命令。但它只适用于整数字段。似乎每当字段是字符串时它就不起作用......

我不断收到的错误是'SQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“like'%a%''at line 1”附近使用的正确语法

我的代码如下:

datalive.mail_queue.SQL.Text:='select*from mail_queue where user_id=:user_id and '+fieldname+' like :value';
Addparam(datalive.mail_queue,'user_id',ftString,inttostr(user_id));
Addparam(datalive.mail_queue,'fieldname',ftString,fieldname);
Addparam(datalive.mail_queue,'value',ftString,'%'+edit1.Text+'%');
datalive.mail_queue.Active:=true;

最佳答案

问题似乎出在您的查询字符串中,在您传递连接字符串的参数之前,所以我建议您以这种方式更改查询字符串:

datalive.mail_queue.SQL.Text:=' select * from mail_queue where user_id=:user_id and '+fieldname+' like :value';

您不必传递参数fieldname,因为它是一列而不是值:

Addparam(datalive.mail_queue,'user_id',ftString,inttostr(user_id));
Addparam(datalive.mail_queue,'value',ftString,'%'+edit1.Text+'%');

确保fieldname变量不包含带引号的字符串,而只是要过滤的列的名称...

关于mysql - Delphi Mysql 参数使用整数而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30884460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com