读书人

请问:一个很简单的有关问题

发布时间: 2012-03-01 10:25:47 作者: rapoo

请教:一个很简单的问题!
在这个语句中,rs为数据集

rs.Find ( " Step_ID like ' " & Text3.Text & " ' ")

like后面为什么要加 ' " & & " ' 这些表识啊?

直接写text3.text就不行啊!或者 "text3.text " 在或者 'text3.text '

请大侠详细解释!

[解决办法]
不行
因为在SQL语句里面 单引号之间的才作为字符串 除非你当作数字或者标识符来处理
[解决办法]
非常简单,做下面的试验,你就知道为什么了:
dim sql as string
sql= " Step_ID like ' " & Text3.Text & " ' "
msgbox sql
rs.Find sql

你看看这个弹出来的信息框里面的内容就知道最后传到数据库引擎里的SQL语句是什么东西了
[解决办法]
' '--(这个在SQL就是表示字符型)
如果你是 'text1.text ' 那么它是将text1.text作为字符传给你的sql并没有进行赋值传递
如果你是 ' "&text1.text& " ' 那么它是将text1.text赋值之后如1234再传给sql Like '1234 ' 这个才是正确的sql语法
---------------------------------
不过,如果写成这样:sql = " Step_ID like ' " Text1.Text " ' "
就是不用 & & ,就会报错“缺少语句结束”
这是为什么?
& 只是用来连接字符串的啊!
这个 " Step_ID like ' " 你只有一个 '肯定不符合啊
实际上可以理解为
" Step_ID like ' " 这个字符串连接一个
text1.text 再连接一个 " ' " (&这个符号就是起的一个连接的作用)

读书人网 >VB

热点推荐