Scusate se riapro questo vecchio thread, ma volevo riallacciarmi al discorso per avere alcuni chiarimenti. Dopo diverse ricerche ho scoperto che si possono ricavare i nomi e le caratteristiche dei campi di una tabella con il metodo FillSchema del DataAdapter
Esempio:
Non ho ancora capito come fare per ricavare i nomi di tutte le tabelle contenute in un db.codice:<script runat="server"> Sub Page_Load(Src As Object, E As EventArgs) 'Nome della tabella Dim tableName As String = "annunci" Dim dtsModel As DataSet Dim Conn As OleDbConnection Dim dadModel As OleDbDataAdapter Dim dtblMain As DataTable Dim dcolPrimaryKey As DataColumn Dim otherColumn As DataColumn 'Prepara DataSet e Connessione dtsModel = New DataSet() Conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ "C:\Documents and Settings\All Users\Documenti\web_dbManager\db\esample.mdb") dadModel = New OleDbDataAdapter("SELECT * FROM " & tableName, Conn) dadModel.FillSchema(dtsModel, SchemaType.Mapped, tableName) 'Visualizza la chiave primaria dtblMain = dtsModel.Tables(tableName) For Each dcolPrimaryKey in dtblMain.PrimaryKey Response.Write("La chiave primaria è " & dcolPrimaryKey.ColumnName & " ") Next Response.Write(" I campi della tabella sono: ") For Each otherColumn in dtblMain.Columns Response.Write("<font color='red'>" & otherColumn.ColumnName & "</font>") Response.Write("; MaxLength: " & otherColumn.MaxLength) Response.Write("; AllowDbNull: " & otherColumn.AllowDbNull & " ") Next Response.Write(" Informazioni sul database: ") Dim f As New FileInfo("C:\Documents and Settings\All Users\Documenti\web_dbManager\db\esample.mdb") Response.Write("Nome: " & f.Name & " ") Response.Write("Ultima modifica: " & f.LastWriteTime & " ") End Sub </script>
Grazie.

Rispondi quotando