Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VB NET Elenco nomi tabelle e campi.

224 views
Skip to first unread message

Raffaele

unread,
May 17, 2007, 3:59:54 AM5/17/07
to
Salve.

Ho una domanda da fare. Avrei questa esigenza: recuperare i nomi delle
tabelle in un database e successivamente anche i nomi dei campi di una
tabella specifica.

Uso queste istruzioni per connettermi al DB
Dim Cnn As New System.Data.OleDb.OleDbConnection(CnnDb)

Cnn.Open()

Dim Cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM TABELLA", Cnn)

Dim Dr As System.Data.OleDb.OleDbDataReader = Cmd.ExecuteReader

E' possibile tramite DR recuperare il valore di tutti i campi della tabella
senza specificare il nome del campo?

In VB6 facevo cosi:

Dim DB As ADODB.Connection 'Connessione a Database.
Dim RS As ADODB.Recordset 'Insieme di record della tabella.
Dim Testo As String 'Stringa contenente il record selezionato.
Dim Ind As Integer 'Indice dei nomi dei campi della tabella.

' Connessione Database
Set DB = New ADODB.Connection
DB.Provider = "Microsoft.Jet.Oledb.4.0"
DB.Open "Data Source=" & Trim(Archivio)

' Apre l'insieme di record
Set RS = New ADODB.Recordset
Call RS.Open(Trim(IstrSql), DB, adOpenStatic, adLockPessimistic)

If RS.EOF = True Then ' Se l'insieme di record RS e' vuoto indica che la
ricerca e' fallita.
LstZoom.AddItem "Ricerca completata. Non e' stato trovato nessun
elemento."
Exit Sub
End If


LstZoom = ""
Do While RS.EOF = False
riga = ""
For Ind = 0 To RS.Fields.Count - 1
riga = Trim(riga) & " " & Trim(RS.Fields(Ind)) & " "
Next
LstZoom.AddItem riga
RS.MoveNext
Loop


Quindi riepilogando vorrei usare DR per recuperare il nome del campo di una
tabella e il relativo valore.

Grazie per l'attenzione.


Raffaele

unread,
May 18, 2007, 3:52:55 AM5/18/07
to

"Raffaele" <r...@tiscali.it> ha scritto nel messaggio
news:_XT2i.9918$U01.1...@twister1.libero.it...

Risolto in parte il problema.

Esempio:

Dim Cnn As New System.Data.OleDb.OleDbConnection(CnnDb)
Cnn.Open()
Dim Cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM TABELLA", Cnn)
Dim Dr As System.Data.OleDb.OleDbDataReader = Cmd.ExecuteReader

For Ind = 0 To DR.FieldCount - 1

MsgBox(DR.GetValue(Ind))

Next

0 new messages