我试图用command来打开记录写来如下语句:
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.CommandDim cnnstr As String
cnnstr = "f:\mybase.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & cnnstr
cmd.ActiveConnection = cnn
Dim mysql As String
mysql = "select * from 表1"
cmd.CommandText = mysqlSet rs = cmd.ExecuteSet DataGrid1.DataSource = rs
可执行是出错,光标在最后一句。
错误提示为:
7004 行集合不能做为标签。
请问如何修改。
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.CommandDim cnnstr As String
cnnstr = "f:\mybase.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & cnnstr
cmd.ActiveConnection = cnn
Dim mysql As String
mysql = "select * from 表1"
cmd.CommandText = mysqlSet rs = cmd.ExecuteSet DataGrid1.DataSource = rs
可执行是出错,光标在最后一句。
错误提示为:
7004 行集合不能做为标签。
请问如何修改。
解决方案 »
- 40分!GDI+转换图形文件数据到StdPicture,如何释放Stream?
- Jasper 一个jpeg2000的 库,怎么在vb里调用?请大家帮忙,很急啊 !
- VBControlsEvents 对象 - VB 插件
- 在公用模块里定义了全局变量,可是为什么会这样....
- 注册表的问题
- 为什么我得VB程序进行窗体切换时,有时会出现错误,导致程序退出?
- vb写的屏保出错。
- 写过共享软件的朋友来看看!
- 请教怎样实现:按下按钮后,按钮所在窗口最小化
- 怎样在vb中编写ftp程序,自动把本地硬盘资料丢到ftp服务器上去?
- 跪求----如何在DataReport中只打印符合条件的字段?
- 关于msdn的问题
rs.CursorLocation = adUseClient
Set rs = cmd.Execute
请各位大师指点迷津,感激
cmd.ActiveConnection = con
cmd.CommandText = "select * from 表1"
rs.Open cmd, , adOpenKeyset, adLockPessimistic
Set DataGrid1.DataSource = rs
xzy88888(志志),你试一下,我解决了。
有哪位高手说一下,cnn.CursorLocation = adUseClient,
rs.CursorLocation = adUseClient,它们的不同主要在哪呢?
所以在这时候只能设cnn的cursorlocation,不信的话你断点跟踪一下.
在Set rs = cmd.Execute之后,rs.CursorLocation就已经等于cnn.cursorlocation了.
VB调用代码
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Dim param As New ADODB.Parameter
Dim ss As String
ss = "Provider=SQLOLEDB.1;Persist Security Info=False;UserID=sa;Initial Catalog=sub;Data Source=changxunnt02"
Set rs = New ADODB.Recordset
Set cmd = New Command
rs.CursorLocation = adUseClient
rs.CursorType = adOpenStatic
rs.LockType = adLockOptimistic
With cmd
.ActiveConnection = ss
.CommandText = "FIND_HISTORY"
.CommandType = adCmdStoredProc
End With
Set param = cmd.CreateParameter("@partno", adVarChar, adParamInput, 50, Combo1.Text)
cmd.Parameters.Append param
Set rs = cmd.Execute
Debug.Print rs.RecordCount
Set DataGrid1.DataSource = rs ??最后一句行记录不能作标签???????到底是SQL过程没返回行记录还是VB代码有
错误了,SQL存储过程在ANALYSL中执行没有问题,各位大师,救救我吧??????
SQL存储过程为
CREATE PROCEDURE [FIND_HISTORY]
@partno varchar(50)
AS
declare @ss varchar(1200)
set @ss='SELECT partno,datetime FROM HISTORY where partno='''+@partno+''''
exec(@ss)
GO
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.CommandDim cnnstr As String
cnnstr = "f:\mybase.mdb"
cnn.CursorLocation = adUseClient
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & cnnstr
cmd.ActiveConnection = cnn
Dim mysql As String
mysql = "select * from 表1"
cmd.CommandText = mysql
Set rs = cmd.ExecuteSet DataGrid1.DataSource = rs
你的代码好象是少了 cnn.open
要定义连接,CONN01主要是这两个方面,谢谢你
cmd.ActiveConnection = con
cmd.CommandText = "select * from 表1"
rs.Open cmd, , adOpenKeyset, adLockPessimistic
Set DataGrid1.DataSource = rs