存储过程:
CREATE OR REPLACE PROCEDURE prc_Call_From_VB(pVar1 VARCHAR2, pVar2 VARCHAR2, pAll OUT VARCHAR2) IS
BEGIN
pAll := pVar1 || pVar2;
END prc_Call_from_VB;VB代码:
Private Sub cmdCallPrc_Click()
On Error GoTo cmdCallPrcErr:
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim cmd As New ADODB.Command
cnn.ConnectionString = "Provider=MSDAORA.1;Password= sys;User ID=system;Data Source=oracle;Persist Security Info=True""
cnn.Open
With cmd
.ActiveConnection = cnn
.CommandType = adCmdText
.CommandText = "{CALL prc_Call_From_VB(?,?,?)}"
.Parameters.Append .CreateParameter("var1", adVarChar, adParamInput, 100, "测试......")
.Parameters.Append .CreateParameter("var2", adVarChar, adParamInput, 100, "成功.")
.Parameters.Append .CreateParameter("v_all", adVarChar, adParamOutput, 100)
End With
rst.CursorType = adOpenStatic
rst.LockType = adLockReadOnly
Set rst.Source = cmd
rst.Open
MsgBox cmd.Parameters.Item("v_all") Set rst = Nothing
Set cmd = Nothing
Exit SubcmdCallPrcErr:
Set cmd = Nothing
Set rst1 = Nothing
MsgBox Err.Description
End Sub
错误提示信息
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须说明标识符 'PRC_CALL_FROM_VB'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored请教错在哪里
CREATE OR REPLACE PROCEDURE prc_Call_From_VB(pVar1 VARCHAR2, pVar2 VARCHAR2, pAll OUT VARCHAR2) IS
BEGIN
pAll := pVar1 || pVar2;
END prc_Call_from_VB;VB代码:
Private Sub cmdCallPrc_Click()
On Error GoTo cmdCallPrcErr:
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim cmd As New ADODB.Command
cnn.ConnectionString = "Provider=MSDAORA.1;Password= sys;User ID=system;Data Source=oracle;Persist Security Info=True""
cnn.Open
With cmd
.ActiveConnection = cnn
.CommandType = adCmdText
.CommandText = "{CALL prc_Call_From_VB(?,?,?)}"
.Parameters.Append .CreateParameter("var1", adVarChar, adParamInput, 100, "测试......")
.Parameters.Append .CreateParameter("var2", adVarChar, adParamInput, 100, "成功.")
.Parameters.Append .CreateParameter("v_all", adVarChar, adParamOutput, 100)
End With
rst.CursorType = adOpenStatic
rst.LockType = adLockReadOnly
Set rst.Source = cmd
rst.Open
MsgBox cmd.Parameters.Item("v_all") Set rst = Nothing
Set cmd = Nothing
Exit SubcmdCallPrcErr:
Set cmd = Nothing
Set rst1 = Nothing
MsgBox Err.Description
End Sub
错误提示信息
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须说明标识符 'PRC_CALL_FROM_VB'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored请教错在哪里
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货