Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Catturare l'output a video da as400
lunedì 08 marzo 2021 - 12.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
paolagumi
Profilo
| Junior Member
59
messaggi | Data Invio:
lun 8 mar 2021 - 12:31
Buongiorno,
ho una classe in vb.net (visual studio 2010) che richiama una stored procedure su as400 db2.
La procedura manda l'output a video con una query, ed io vorrei catturare l'output e leggerlo in un datareader se possibile,
ma non ci riesco.
Sotto vedete le istruzioni che utilizzo.
IL'oledbreader risulta senza righe, ma se eseguo la procedura su As400 me ne restituisce correttamente.
Qualcuno mi riesce ad aiutare?
grazie,
Paola
Public Function ScriviMensile(ByVal Ambiente As String, ByVal Anno As Int32, ByVal Mese As Int32, ByVal Ordinamento As Int32) As String
ScriviMensile = True
' per test:
Ambiente = "VESTI110"
Anno = 2021
Mese = 1
Ordinamento = 1
Dim Messaggi As New DataCenter.Classi.Oggetti.Utilita.Messaggi
If Not (ApriConnessioneAs400()) Then
Exit Function
End If
Dim Messaggio As DataCenter.Classi.Oggetti.Utilita.Messaggio
Dim OleDbCmd As OleDb.OleDbCommand
Dim OleDbDa As OleDb.OleDbDataAdapter
Dim OleDbDs As System.Data.DataSet = Nothing
Dim OleDbDr As OleDb.OleDbDataReader
Try
OleDbCmd = New OleDb.OleDbCommand
With OleDbCmd
.Connection = ConnAs400
.CommandType = CommandType.StoredProcedure
.CommandTimeout = 1000
.CommandText = "VESTIAMT.AMBTC28P"
Dim OleDbPar1 As System.Data.OleDb.OleDbParameter
OleDbPar1 = .CreateParameter()
OleDbPar1.ParameterName = "AMBIENTE"
OleDbPar1.DbType = DbType.String
OleDbPar1.Size = 10
OleDbPar1.Value = Ambiente
OleDbPar1.Direction = ParameterDirection.InputOutput
.Parameters.Add(OleDbPar1)
Dim OleDbPar2 As System.Data.OleDb.OleDbParameter
OleDbPar2 = .CreateParameter()
OleDbPar2.ParameterName = "ANNO"
OleDbPar2.DbType = DbType.String
OleDbPar2.Size = 4
OleDbPar2.Value = Anno
OleDbPar2.Direction = ParameterDirection.InputOutput
.Parameters.Add(OleDbPar2)
Dim OleDbPar3 As System.Data.OleDb.OleDbParameter
OleDbPar3 = .CreateParameter()
OleDbPar3.ParameterName = "MESE"
OleDbPar3.DbType = DbType.String
OleDbPar3.Size = 2
OleDbPar3.Value = " "
OleDbPar3.Direction = ParameterDirection.InputOutput
.Parameters.Add(OleDbPar3)
Dim OleDbPar4 As System.Data.OleDb.OleDbParameter
OleDbPar4 = .CreateParameter()
OleDbPar4.ParameterName = "ORDINA"
OleDbPar4.DbType = DbType.String
OleDbPar4.Size = 1
OleDbPar4.Value = " "
OleDbPar4.Direction = ParameterDirection.InputOutput
.Parameters.Add(OleDbPar4)
Dim OleDbPar5 As System.Data.OleDb.OleDbParameter
OleDbPar5 = .CreateParameter()
OleDbPar5.ParameterName = "NRJOB"
OleDbPar5.DbType = DbType.String
OleDbPar5.Size = 6
OleDbPar5.Value = " "
OleDbPar5.Direction = ParameterDirection.InputOutput
.Parameters.Add(OleDbPar5)
Dim matricola As Int32 = 0
OleDbDr = .ExecuteReader
While OleDbDr.Read()
matricola = OleDbDr("Matricola").ToString
End While
'.ExecuteNonQuery()
OleDbCmd = Nothing
OleDbDs = Nothing
OleDbDa = Nothing
End With
Catch ex As Exception
Messaggio = New DataCenter.Classi.Oggetti.Utilita.Messaggio
Messaggio.IdTipo = DataCenter.Classi.Oggetti.Utilita.Messaggio.TipoMessaggio.TMErrore
Messaggio.Testo = "Errore in lettura dati da As400: " & ex.Message
Messaggi.Add(Messaggio)
Messaggio = Nothing
Try
With ConnAs400
If .State = ConnectionState.Open Then .Close()
End With
Catch ex1 As Exception
End Try
ConnAs400 = Nothing
OleDbCmd = Nothing
OleDbDa = Nothing
OleDbDs = Nothing
End Try
ChiudiConnessioneAs400()
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !