小弟是新手,对vb还不熟悉,有两个问题想请教各位高手!小弟的程序中有以下代码:
Private Sub connSer_Click()Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQLServer};Server=" & loginSer.servName & ";UID=" & loginSer.userName & ":PWD=" & loginSer.userPwd & ";Database=" & loginSer.dbNamecn.Open
Set rst = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")While rst.NextRecordset()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
WendPrint longitude
Print latitude
Print speedEnd Sub问题一:目的是从loginSer窗体中获得由servName,userName,userPwd和dbName几个文本框中填入的字符串,然后由这个几个字符串来决定去那个数据库中取数据!但是老是报错说:参数不可选.那该怎么改了?如果我使用指定的方式来访问数据库的话是可以取到数据的,比如说如下代码:cn.ConnectionString = "DSN=GIS;UID=sa;PWD="
问题二:代码:
While rst.NextRecordset()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
Wend
的目的是获得数据库中最后一条数据记录.报错为实时错误'91',对象变量或'with'块变量未设置.我去查了msdn,看不太明白,所以就跑来这里请教该如何处理了!
Private Sub connSer_Click()Set cn = New ADODB.Connection
cn.ConnectionString = "Driver={SQLServer};Server=" & loginSer.servName & ";UID=" & loginSer.userName & ":PWD=" & loginSer.userPwd & ";Database=" & loginSer.dbNamecn.Open
Set rst = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")While rst.NextRecordset()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
WendPrint longitude
Print latitude
Print speedEnd Sub问题一:目的是从loginSer窗体中获得由servName,userName,userPwd和dbName几个文本框中填入的字符串,然后由这个几个字符串来决定去那个数据库中取数据!但是老是报错说:参数不可选.那该怎么改了?如果我使用指定的方式来访问数据库的话是可以取到数据的,比如说如下代码:cn.ConnectionString = "DSN=GIS;UID=sa;PWD="
问题二:代码:
While rst.NextRecordset()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
Wend
的目的是获得数据库中最后一条数据记录.报错为实时错误'91',对象变量或'with'块变量未设置.我去查了msdn,看不太明白,所以就跑来这里请教该如何处理了!
问题一:
loginSer你这是什么?!问题二:While not rs.Eof()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
rs.MoveNext
Wend
rst.Open "SELECT * FROM GPSInfo", cn
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
我用rst.moveLast是了一下.系统报错:行集不支持反向提取.
使用如下代码可以解决:
While not rs.Eof()
longitude = rst!longitude
latitude = rst!latitude
speed = rst!speed
rs.MoveNext
Wend253两位兄弟了!