VC++中如何对数据库中多表中的所有字段模糊查询

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:11:13
在毕业设计里我想实现这样的一个功能.在EDIT中输入关键字,自动搜索所两个表(如:收入表和支出表)中所有的字段记录.并且用DATAGRID列出所有的包含该关键字的结果.
注:该关键字是用户自己输入的所以可能是汉字.时间等;

问题是你数据库里字段存储格式是怎么样啊?如果都是char,那直接用select加上通符就行了

如果不是,可以自己做个语法分析器,分析一下输入内容的应该是什么格式的,然后再用select

SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:
1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
6、LIKE'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
7、LIKE'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
有个例子你可以参考一下
sql = "select * from zipcode where (address like'%" & zipcode_key & "%') or (city like'%" & zipcode_key & "%') or (province like'%" & zipcode_key & "%') order by province,city,address"