就是asp的Server.CreateObject("ADODB.Connection")传给用vb写的asp组件.出问题了.:(vb中:
Public Function test(byref conn as Variant )
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from table", conn, 1, 1, 1
rs.Close
Set rs = Nothing
End Functionasp中:
<%
...
Set db_conn = Server.CreateObject("ADODB.Connection")
dim t
set t=Server.CreateObject("V.A")
response.write t.test(db_conn)
...
%>提示:
ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
Public Function test(byref conn as Variant )
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from table", conn, 1, 1, 1
rs.Close
Set rs = Nothing
End Functionasp中:
<%
...
Set db_conn = Server.CreateObject("ADODB.Connection")
dim t
set t=Server.CreateObject("V.A")
response.write t.test(db_conn)
...
%>提示:
ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
http://expert.csdn.net/Expert/topic/2923/2923572.xml?temp=.4168817
http://expert.csdn.net/Expert/topic/2923/2923561.xml?temp=.9196741
http://expert.csdn.net/Expert/topic/2923/2923553.xml?temp=.9119226
Public Function test(byref conn as Variant )
你改成
Public Function test(byval conn as Adodb.Connection )rs.Open "select * from table", conn, 1, 1, 1
改成
rs.Open "select * from table", conn, 1, 1另外vb程序要引用Adodb还有就是你的test根本没返回值,用Response.write 是会出错的
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from table", conn, 1, 1
rs.Close
Set rs = Nothing
End Functionasp中还是提示错误:
ADODB.Recordset 错误 '800a0bb9' 参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。 /ok.asp,行9 ASP 中我是这样使用的:
<%
Set db_conn = Server.CreateObject("ADODB.Connection")
db_conn.Open "driver={SQL Server};server=127.0.0.1;uid=sa;pwd=;database=db;"dim V
set V=Server.CreateObject("V.A")
call V.test(db_conn)
set V=nothingdb_conn.close
set db_conn=nothing
%>
Public conn As New ADODB.Connection
Private Sub Command1_Click()
Command1.Caption = test(conn)
End SubPrivate Sub Form_Load()
connstr = "driver={SQL Server};server=Leisang;uid=sa;pwd=;database=0577fun;"
conn.ConnectionString = connstr
conn.OpenEnd Sub
Private Function test(ByVal conn As ADODB.Connection) As String
Dim rs As New ADODB.Recordset
rs.Open "select * from CoNews ", conn, 1, 1
test = rs.RecordCount
End Function
rs.Open "select * from CoNews ", conn, 1, 1
改成
rs.Open strSql, conn, 1参考
使用组件封装数据库操作(二)
http://www.csdn.net/develop/read_article.asp?id=22628
使用组件封装数据库操作(一)
http://www.csdn.net/develop/read_article.asp?id=19214