郁闷中!请各位高手看看小弟的问题吧!

zhoupu2004 2004-11-22 02:46:22
Private Sub conSer_Click()

Dim cn As ADODB.Connection
Dim rst As Recordset
Dim longitude As Double
Dim latitude As Double
Dim speed As Double
Dim slongitude As String
Dim slatitude As String
Dim sspeed As String
Set cn = New ADODB.Connection
cn.ConnectionString = "DSN=GIS;UID=sa;PWD="
cn.Open

Set rst = New ADODB.Recordset
Set rst = cn.Execute("SELECT * FROM GPSInfo")
slongitude = rst.GetString("longitude")
slatitude = rst.GetString("latitude")
sspeed = rst.GetString("speed")

longitude = CDbl(Val(slongitude))
latitude = CDbl(Val(slatitude))
speed = CDbl(Val(speed))
End Sub


老是报错,说slongitude = rst.GetString("longitude")不匹配.不解.
要是把cn.ConnectionString = "DSN=GIS;UID=sa;PWD="这一句换成
cn.ConnectionString = "Driver={SQLServer};" & "Server=login.serName;" & "UID=login.userName;" & "PWD=login.userPwd;" & "Database=longin.dbName"的话,就报错:未发现数据源名称并且未指定默认驱动程序!各位老大给点建议吧!
...全文
105 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoupu2004 2004-11-24
  • 打赏
  • 举报
回复
这几天网络有问题,所以今天才上来,感谢楼上两位老大的回复!
huangjianyou 2004-11-22
  • 打赏
  • 举报
回复
在工具栏里有一个adodc控件,你放进窗体里“右键”-->“属性”时连接一下就有了。

^_^
snowmiao2002 2004-11-22
  • 打赏
  • 举报
回复
db.ConnectionString = "driver={sql server};server=" & sDataSource & ";uid=" & sUserName & ";pwd=" & sPwd & ";database=" & sDatabase
zhoupu2004 2004-11-22
  • 打赏
  • 举报
回复
呵呵,.NET老大厚道哈!表是肯定有的,字段也没有错.我用2000的办法可以从数据库里面取到数据了.但是采用的是指定的cn.ConnectionString = "DSN=GIS;UID=sa;PWD="这个语句.在实际中我我的DSN,UID,和PWD都需要来自于login.frm.所以需要临时去取.不过.NET说的"'这里的字符连接串参考http://www.connectionstrings.com/获得."这句是指什么不是很理解.还有,该如何使用adodc连接一下能得到正确的连接串了?还望老大给点指导啊!
zhoupu2004 2004-11-22
  • 打赏
  • 举报
回复
呵呵,各位老大的回复的太快了,我都还没来得及试哈.我说的不行是指1楼的回复.2000老大的办法好像可以解决了.
huangjianyou 2004-11-22
  • 打赏
  • 举报
回复
不行的原因有:
1、连接串不正确,你用adodc连接一下就能得到正确的连接串
2、是否有GPSInfo这个表?是否有那三个字段?检查清楚。

^_^
zhoupu2004 2004-11-22
  • 打赏
  • 举报
回复
感谢楼上老大的回复,不过还是不行啊!
aiur2000 2004-11-22
  • 打赏
  • 举报
回复
rst.GetString("longitude")用rst!longitude不就行了吗?
huangjianyou 2004-11-22
  • 打赏
  • 举报
回复
Private Sub conSer_Click()
Dim Cn As New ADODB.Connection
Dim Rst As New Recordset
Dim longitude As Double
Dim latitude As Double
Dim speed As Double
Cn.Open "DSN=GIS;UID=sa;PWD="
'这里的字符连接串参考http://www.connectionstrings.com/获得.
Rst.Open "SELECT * FROM GPSInfo", Cn, adOpenKeyset, adLockReadOnly, adCmdText
If Rst.EOF And Rst.BOF Then
Else
longitude = Val(Rst("longitude"))
latitude = Val(Rst("latitude"))
speed = Val(Rst("speed"))
End If
Rst.Close
Set Rst = Nothing
Cn.Close
Set Cn = Nothing
End Sub

^_^
tztz520 2004-11-22
  • 打赏
  • 举报
回复
slongitude =val( rst.GetString("longitude"))

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧