Black
06-05-2003, 14:13
Da Visual Basic 6 devo interrogare una stored procedure in Oracle 8.
Questa ha alcuni campi in Input e uno in Output di tipo Type Record,
Uso ADO 2.7 ma non riesco a interfacciarmi :(
Ecco il codice che uso in VB:
Dim Rs As ADODB.Recordset
Dim Cn As ADODB.Connection
Dim conn As String
Dim QSQL As String
Dim CPw2 As ADODB.Command
Set Cn = New ADODB.Connection
With Cn
.ConnectionString = strConnectString
.CursorLocation = adUseClient
.Open
End With
QSQL = "{call bisGaranzie_Polizza.Elenco_Garanzie_Polizza(?,?,?,?,?,?,?,?,?,?,?,{resultset 9, PLSQL_TABLE})}"
Set CPw2 = New ADODB.Command
With CPw2
Set .ActiveConnection = Cn
.CommandText = QSQL
.CommandType = adCmdText
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adNumeric, adParamInput)
.Parameters.Append .CreateParameter(, adNumeric, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
End With
Set Rs = New ADODB.Recordset
With Rs
.CursorType = adOpenStatic
.LockType = adLockReadOnly
End With
Set Rs.Source = CPw2
CPw2(0) = sTesteCodComp
CPw2(1) = sTesteCSire
CPw2(2) = sTesteNordSir
CPw2(3) = CDate(sTesteDataEffe)
CPw2(4) = CDate(sPolizzeDataScad)
CPw2(5) = sPolizzeIndicizPolizze
CPw2(6) = nTesteProgressivo
CPw2(7) = nTesteProgrFam
CPw2(8) = CDate(sParametriDataOsservazione)
CPw2(9) = CDate(sTesteDataIngresso)
CPw2(10) = CDate(sTesteDataUscita)
Rs.Open
Rs.Close
la stored procedure in Oracle è
PROCEDURE Elenco_Garanzie_Polizza2 (
IN_ccomp in varchar2,
IN_csire in varchar2,
IN_nordsir in varchar2,
IN_dataeffe in date,
IN_datascad in date,
IN_INDICIZ IN VARCHAR2,
IN_assicurato in number,
IN_famiglia in number,
IN_data_osservazione in date,
IN_INIZIO_ASS IN DATE,
IN_FINE_ASS IN DATE,
PLSQL_TABLE OUT TAB_GARANZIE
)
dove TAB_GARANZIE è di tipo record (TYPE)
Qualcuno gentilmente può aiutarmi dandomi qualche esempio concreto? :(
Questa ha alcuni campi in Input e uno in Output di tipo Type Record,
Uso ADO 2.7 ma non riesco a interfacciarmi :(
Ecco il codice che uso in VB:
Dim Rs As ADODB.Recordset
Dim Cn As ADODB.Connection
Dim conn As String
Dim QSQL As String
Dim CPw2 As ADODB.Command
Set Cn = New ADODB.Connection
With Cn
.ConnectionString = strConnectString
.CursorLocation = adUseClient
.Open
End With
QSQL = "{call bisGaranzie_Polizza.Elenco_Garanzie_Polizza(?,?,?,?,?,?,?,?,?,?,?,{resultset 9, PLSQL_TABLE})}"
Set CPw2 = New ADODB.Command
With CPw2
Set .ActiveConnection = Cn
.CommandText = QSQL
.CommandType = adCmdText
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adBSTR, adParamInput)
.Parameters.Append .CreateParameter(, adNumeric, adParamInput)
.Parameters.Append .CreateParameter(, adNumeric, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
.Parameters.Append .CreateParameter(, adDate, adParamInput)
End With
Set Rs = New ADODB.Recordset
With Rs
.CursorType = adOpenStatic
.LockType = adLockReadOnly
End With
Set Rs.Source = CPw2
CPw2(0) = sTesteCodComp
CPw2(1) = sTesteCSire
CPw2(2) = sTesteNordSir
CPw2(3) = CDate(sTesteDataEffe)
CPw2(4) = CDate(sPolizzeDataScad)
CPw2(5) = sPolizzeIndicizPolizze
CPw2(6) = nTesteProgressivo
CPw2(7) = nTesteProgrFam
CPw2(8) = CDate(sParametriDataOsservazione)
CPw2(9) = CDate(sTesteDataIngresso)
CPw2(10) = CDate(sTesteDataUscita)
Rs.Open
Rs.Close
la stored procedure in Oracle è
PROCEDURE Elenco_Garanzie_Polizza2 (
IN_ccomp in varchar2,
IN_csire in varchar2,
IN_nordsir in varchar2,
IN_dataeffe in date,
IN_datascad in date,
IN_INDICIZ IN VARCHAR2,
IN_assicurato in number,
IN_famiglia in number,
IN_data_osservazione in date,
IN_INIZIO_ASS IN DATE,
IN_FINE_ASS IN DATE,
PLSQL_TABLE OUT TAB_GARANZIE
)
dove TAB_GARANZIE è di tipo record (TYPE)
Qualcuno gentilmente può aiutarmi dandomi qualche esempio concreto? :(