请问VB数据库变成中"&","+"以及"'"的含义
Adodc1.RecordSource = "select * from 销售退货信息表 where (销售退货信息表. " & Combo1.Text & " like '% '+ ' " + Text1.Text + " '+ '% ') "
上面这个模糊查询的语句,里面&,+及 '代表什么意思啊?查了很多资料都没写明,不甘心就这么照样画葫芦.望各位指点,谢谢!
[解决办法]
Adodc1.RecordSource = "select * from 销售退货信息表 where (销售退货信息表. " & Combo1.Text & " like '% '+ ' " + Text1.Text + " '+ '% ') "
是模糊查询而
Adodc1.RecordSource = "select * from 销售退货信息表 where (销售退货信息表. "Combo1.Text " like Text1.Text )
就没哪个效果了。
[解决办法]
单引号是数据库中的字符串限定符
双引号是VB的字符串限定符
分析的时候找到双引号然后配对就好分析了,分析清楚VB的表达式的含义然后再判断生成的字符串的值就明白这条代码的含义了
那一串连接是为了生成一条字符串,然后传递给数据库执行的
为了生成
"select * from 销售退货信息表 where (销售退货信息表.什么列名 like '%什么数据% ') "
这一条字符串,然后给Adodc1,由Adodc1执行查询返回记录集
在你写的字符串里边,除了“+ Text1.Text + ” 其他的 "+ " 号都是给数据库用的
"like '%什么数据% ' "
这一段他是给写成了
"like '% ' + 什么数据 + '% ' "这样的一条字符串提交给了数据库
你的语句可以写成这样,含义不变,相对好理解一些
"select * from 销售退货信息表 where (销售退货信息表. " & Combo1.Text & " like '% '+ ' " & Text1.Text & " '+ '% ') "
其中的 "& "在VB中用于连接两个字符,上边语句的 "+ "都是给数据库用的了
你可以把生成的字符串Debug.Print一下看看就知道数据库具体执行了什么语句了
通配符是 "% "而不是加号,加号是数据库用于连接字符串用的,这一点你的理解可能有错误