注册 登录
编程论坛 VB6论坛

VB6.0 变量赋值的问题

luozyou 发布于 2017-01-20 10:08, 3292 次点击
Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
     strconn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Password=2233;Initial Catalog=mydb;Data Source=" & Serverhost
连SQL 语句如上面写就没问题 但 如果 User ID= PASSWORD  Initial Catalog  都用变量就没办法 语句就被截至第一个 如上的话就只到User ID=赋值成功

我的写法是这样的        
  Set conn = New ADODB.Connection
    Set rs = New ADODB.Recordset
     strconn = "Provider=SQLOLEDB.1" & _
     ";Persist Security Info=True" & _
     ";User ID=" & seruser & _
     ";Password=" & serpwd & _
     ";Initial Catalog=" & DBname & _
     ";Data Source=" & Serverhost
         
   Debug.Print strconn
     
这样写就只有 strconn 的内容只有
只有本站会员才能查看附件,请 登录
  请高手指点哪里错了 应该如何改

[此贴子已经被作者于2017-1-20 10:11编辑过]

11 回复
#2
zbjzbj2017-01-20 10:28
sql有“参数化查询”,vb有没有?
#3
luozyou2017-01-20 10:33
回复 楼主 luozyou
我是新手 不懂 请大神明示
#4
luozyou2017-01-20 10:37
认真看了下立即窗口 后面的参数是出来了的 但 太多的空格 是怎么出来的呢? 用trim()也没有改变
如此写不用换行符 效果也一样
strconn = "Provider=SQLOLEDB.1" & ";Persist Security Info=True" & ";User ID=" & Trim(seruser) & ";Password=" & Trim(serpwd) & "
 用Replace 替换也不顶用strconn = Replace(strconn, " ", "")
#5
zbjzbj2017-01-20 10:43
我好久不用vb了,所以一时难以处理。建议你百度查找 “vb ado参数化查询”的有关资料。
#6
luozyou2017-01-20 10:56
回复 4楼 luozyou
好的 谢谢 先找找看
#7
xzlxzlxzl2017-01-20 11:02
经测试,这样拼接字符串没问题。
#8
luozyou2017-01-20 11:22
回复 6楼 luozyou
我的编译出来有很多空格跟在参数后面 是什么原因?难道是编译器问题?
出来的结果是Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa                                                                                                                                                                                                                                                             ;Password=2233                                                                                                                                                                                                                                                           ;Initial Catalog=mydb                                                                                                                                                                                                                                                   ;Data Source=localhost                                                                                                                                                        
                                                                                            

#9
luozyou2017-01-20 11:23
回复 7楼 xzlxzlxzl
我的编译出来有很多空格跟在参数后面 是什么原因?难道是编译器问题?
 出来的结果是Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa                                                                                                                                                                                                                                                             ;Password=2233                                                                                                                                                                                                                                                           ;Initial Catalog=mydb                                                                                                                                                                                                                                                   ;Data Source=localhost                                                                                                                                                        
                                                                  
#10
luozyou2017-01-20 12:00
谢谢大家 问题解决了 原来是 所赋值的转码问题
#11
luozyou2017-01-20 12:00
谢谢大家 问题解决了 原来是 所赋值的转码问题
#12
ZHRXJR2017-01-20 14:03
你的 seruser 、serpwd 、DBname 、Serverhost 这几个变量如果有值,就没有问题
只有本站会员才能查看附件,请 登录

这是测试结果。
1