oracle中的包:
create or replace package pkgsearch as
type mycursor is ref cursor;
procedure acc_search(id in varchar,cur out mycursor);
end pkgsearch;
CREATE OR REPLACE PACKAGE BODY pkgsearch AS
PROCEDURE acc_search (id in varchar,cur out mycursor) IS
BEGIN
OPEN cur FOR SELECT *
FROM account
WHERE accno = 'id';
end acc_search;
end pkgsearch;
此包用于搜索将 id 作为参数传递给过程的帐户记录。VB中的代码
dim con as new ADODB.connection
Dim rs As New ADODB.Recordset
Dim cmd As New ADODB.Command
Dim param As New ADODB.Parameter
Dim str As String
con.open "dsn=xxxxx;uid=xxxxxx;pwd=xxxxxx"
With cmd
.ActiveConnection = con
.CommandText = "pkgsearch.acc_search"
.CommandType = adCmdStoredProc
Set param = .CreateParameter("id", adVarChar, adParamInput, 10, Text1.Text)
.Parameters.Append param
End With
Set rs = cmd.Execute
Text1.Text = rs.Fields(0).Value
Text2.Text = rs.Fields(1).Value
编辑:
这产生:
运行时错误“-2147217887(80040e21)”;ODBC 驱动程序不支持请求的属性。单击调试后,它会突出显示“set rs =cmd.execute”
请提出一些修改建议。
在VB中执行命令后还有其他使用记录集的方法吗?
提前谢谢。