delphi +access 查询条件中用字符型变量,怎么做模糊查询?

想要做下拉框中选择查询项后(查询项为汉字但查询要用赋值后的值)用变量STR保存想要的,在SQL查询中做条件使用。
大体语句如下:
 str:string;
case combobox1.ItemIndex of
0: str:= '10%';
1: str:= '20%';
2: str:= '30%';
else
edit1.Text := 'error ';
end;
SQL语句:' select * from a where a.id like str '
问题:如上面语句执行不出正确结果。这里不知道怎么使用变量str与%,请大家帮忙

sql.text := 'select * from a where a.id like "%' + str +'"%"' ;追问

引号的使用看不懂,能讲讲么?最后一个%的引号用的为什么比前一个多?是不是打错了

追答

最后一个%的引号
双引号 + 单引号

双引号 : access 的 SQL 引用字符
单引号 :DELPHI 引用字符

温馨提示:内容为网友见解,仅供参考
无其他回答

Delphi+Access 生成表查询的问题
啊,原来是这个意思啊,我理解错误了,为了补回,我做了下实验,发现在DELPHI中确实不能用,不过原因在于模糊查询得不到正常的返回值。虽说相同的语句在ACCESS里面可以,但是在Delphi中用ADO控件是不行的,你可以把查询中的通配符“*”用“%”替换就可以了,虽说有点不可思议,但确实如此。

delphi 使用access的函数问题
为了帮助增强数据的安全性,可以选择以沙盒模式运行 Access 2003。在沙盒模式下,Access 仅计算字段属性和控件中那些安全的表达式。如果表达式未使用恶意用户可用来访问他们未得到授权的驱动器、文件或其他资源的那些函数或属性,则可以认为该表达式是安全的。例如,函数 Kill 和 Shell 可被用于损坏计算机中的...

delphi access中字段存储格式是短时间HH:MM类型,但是在查询到grid控件中...
你可能在输入时间数据据时,还是输入了日期.ACCESS设置为短时间,仍然可以保存为长时间(日期+时间),输入数据时,不要直接使用系统日期DATE或者NOW,要截取其中的小时分钟后,再存储到数据库.或者在界面放置一个EDIT组件,直接读取系统时间中小时分钟,然后再以字符串保存到数据库中....

delphi中如何连接access数据库...需要那几个控件.怎么设置属性?
1、放置adoconnection控件 设置NAME属性 简单来说就是该控件的名字为以后在代码中调用他用的 这个CONNECTIONSTRING属性是设置连接字符串的 连接什么数据库都要用他 D:\\database\\bmgl.mdb这句是连接路径 LOGINPROMPT属性是设置是否每次连接都提示输入密码什么的 这个一般设置为FALSE CONNECTED属性设置为TRUE的...

Delphi 实现随机查询记录,用的是ACCESS数据库
str:string;begin Randomize;ADOQuery1.Close;ADOquery1.SQL.Clear;cmdstr:=edit2.text;str:='select top ' + cmdstr + ' * from choice order by Rnd(-id*' + IntToStr(Random(100)) + ')';ADOQuery1.SQL.Add(str);ADOquery1.Open;end;id为一个数字列,修改为你表中真实的列字段...

DELPHI ADOQUERY连接ACCESS,查询记录总数问题
应该是 FieldByName('日期').AsString := DateTimeToStr(Date());SQL.Add('select * from DIPBCT where 日期=date()这两句的原因 ACCESS 数据库对日期的查找应该加 而且 DateTimeToStr(Date()的格式与 where 日期=date() 的日期格式不同。第一句换成 FieldByName('日期').AsString := format...

Delphi中查询整型的sql语句
a = edit6.text b = strtoint(a)select * from 出库明细表 where 数量= b edit6.Text这个得出的是字符型,所以必须在delphi中做类型转换,转换成你想要的类型 你用strtoint看看

delphi代码中"%"表示什么
一般用在Format等函数中,作为格式指令的开头,用来格式化字符串。例如:Format('x=%.5f', [1.0]),表示保留小数点后5位,它会输出'1.00000'。、#、$、^、*这些字符在Delphi中有特殊含义,%没有。

怎么用delphi调用Access数据库,并把数据库的值赋值给变量
1.首先,要连接数据库。有两种连接方式。选ADO比较好,本人也比较热爱于它。提供的数据源.我相信你一定能找得到。另外,直接写路径加表名也能连接,用Database。但不推荐这种方式。因为它会文件路径的改变而找不到库。2.第二个问题,就是从库中的某个表中读取数据了。(1)声明变量 (2)打开数据...

【delphi】如何将access表中的某个字段的值添加到combobox中
1.使用ADO控件连接access数据库 2.使用ADOQuery控件查询 3.操作combobox 或使用DataSource+dbComboBox连接

相似回答