我在用WINAPI GETPRIVATEPROFILESTRING 读取了ini 文件的内容后,想用读出的结果和字符串常量获得用于数据库连接的connectionstring
可是在将变量和常量连接到一起的时候只有第一个变量可以连接,后面的都连不上,高手指教
我想得到的结果是
1>定义字符串常量
Public Const Basic1 As String = "driver={sql server};server="
Public Const Basic2 As String = ";uid="
Public Const Basic3 As String = ";pwd="
Public Const Basic4 As String = ";database="
2>定义字符串变量用于接受函数读出的ini文件中的值
Public ServerName As String * 256
Public UserName As String * 256
Public PassWord As String * 256
Public DataBaseName As String * 256
我希望的结果是
下面的con是ADODB的Connection对象
con.ConnectionString=Basic1 & ServerName & Basic2 & UserName & Basic3 & PassWord & Basic4 & DataBaseName
本来应该是
driver={sql server};server=IceAngel;uid=sa ;pwd=;database=货运管理系统
但是问题出现了
连接后只有第一个部分,即连接后字符串变为了 driver={sql server};server=IceAngel 后边的部分都不能连接,不知道怎么回事
高手指教!

解决方案 »

  1.   

    问题出在:2>定义字符串变量用于接受函数读出的ini文件中的值
    1、你可能是按记录读取的ini文件.
    2、定义的定长字符串变量长度最好等于取出值的长度.
    3、ini文件中的每行记录可能存在前导空格,须去掉。。
      

  2.   

    这是Chr(0)在做怪!而连接串是文本格式,遇到Chr(0)就是会认为字符串结束。你读Ini文件的方法有问题,在读取时就应把缓冲中多余的字符去掉
    s=trim(replace(s,chr(0),""))
    就可以了,但要注意:若你的Ini是返回一个段中所有Key值的话,就不能用这个方法了。