Kan man skriva någon slags kod som lista alla fältnamnen i en databas för att få reda på vad fältnamnen heter i en tabell? Om det är MySQL så går det väl med... show columns from TABLE; I SQL-server kan du hämta sådan information via ett antal vyer som ligger i Master-databasen. Ex : <code> Tackar ska i morgon när jag har tillgång till klassrumet kolla alla svar. set rst = con.execute("select * from tabell")Lista fälltnamn i en databas som är okänd.
Sv: Lista fälltnamn i en databas som är okänd.
Sv: Lista fälltnamn i en databas som är okänd.
SELECT * FROM Information_Schema.Tables
SELECT * FROM Information_Schema.Columns
Använder du Access så får du nog öppna en anslutning med DAO och loopa igenom TableDefs-collectionen. ADO har mig veterligen ingen motsvarighet (när man jobbar mot Access) till TableDef, däremot kan du plocka fram kolumnnamnen för en känd tabell genom att hämta ett (tomt) RecordSet och loopa igenom Fields-collectionen :
SELECT * FROM TabellNamn WHERE 1=0
WHERE-villkoret gör att inga poster returneras. TOP 0 hade kanske också fungerat.
Ps. Det hade varit enklare att svara exakt, om du talat om direkt vilken databas det gäller :-)Sv: Lista fälltnamn i en databas som är okänd.
Dim Conn
Dim rsColumns
Dim strTableName
Const adSchemaColumns = 4
Const adSchemaTables = 20
strTableName = "NamnPåTabellen"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=c:\test.mdb"
Set rsColumns = Conn.OpenSchema(adSchemaColumns, Array(Empty, Empty, strTableName, Empty))
Do Until rsColumns.EOF
Response.Write rsColumns("Column_Name") & "<br>" & vbCrLf
rsColumns.MoveNext
Loop
rsColumns.Close
Set rsColumns = Nothing
Conn.Close
Set Conn = Nothing
</code>Sv: Lista fälltnamn i en databas som är okänd.
Jag jobbar med Access 2000. Vill tacka för alla svar.Sv: Lista fälltnamn i en databas som är okänd.
for a = 0 to rst.fields.count - 1
response.write rst.fields(a).name & "<br>"
next