小弟的程序中有以下连接数据库的代码:
Private Sub connSer_Click()servName = loginSer.servName.Text
userName = loginSer.userName.Text
userPwd = loginSer.userPwd.Text
dbName = loginSer.dbName.TextSet cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQLServer};Server=" & servName & ";UID=" & userName & ":PWD=" & userPwd & ";Database=" & dbName
cn.Open
Set rst = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")
While Not rst.EOF()longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
rst.MoveNext
WendEnd SubservName,userName,userPwd,dbName是四个申明为public的string.loginSer是另外一个窗体.主要功能就是从loginSer这个窗体中的四个文本框取出填入的信息,然后再用这些信息来连接数据库.这几个string都能取得正确的值,但是连接数据的时候却出现:未发现数据源名称并且未指定默认驱动程序的错误.如果我把cn.ConnectionString = "Driver={SQLServer};Server=" & servName & ";UID=" & userName & ":PWD=" & userPwd & ";Database=" & dbName这句代码改成cn.ConnectionString = "DSN=GIS;UID=sa;PWD="的话,是可以取到数据库中正确的值.但是老是报错说为指定默认驱动程序.我该怎么办啊?!各位老大救救小弟吧!
Private Sub connSer_Click()servName = loginSer.servName.Text
userName = loginSer.userName.Text
userPwd = loginSer.userPwd.Text
dbName = loginSer.dbName.TextSet cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQLServer};Server=" & servName & ";UID=" & userName & ":PWD=" & userPwd & ";Database=" & dbName
cn.Open
Set rst = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")
While Not rst.EOF()longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
rst.MoveNext
WendEnd SubservName,userName,userPwd,dbName是四个申明为public的string.loginSer是另外一个窗体.主要功能就是从loginSer这个窗体中的四个文本框取出填入的信息,然后再用这些信息来连接数据库.这几个string都能取得正确的值,但是连接数据的时候却出现:未发现数据源名称并且未指定默认驱动程序的错误.如果我把cn.ConnectionString = "Driver={SQLServer};Server=" & servName & ";UID=" & userName & ":PWD=" & userPwd & ";Database=" & dbName这句代码改成cn.ConnectionString = "DSN=GIS;UID=sa;PWD="的话,是可以取到数据库中正确的值.但是老是报错说为指定默认驱动程序.我该怎么办啊?!各位老大救救小弟吧!
最好用Provider,不要用Driver