titta på tabeller utan att veta vad de heter

Databaser & SQL

8 svar · 325 visningar · startad av Nöff

Medlem sedan nov. 2003569 inlägg
Trådstart#1

Hej.

Om jag vill titta på en Access databas tabeller utan att veta vad de heter, hur gör jag då?, schema nånting?..

Medlem sedan feb. 20013 023 inlägg
#2

Via kod kan du använda något som heter ADOX. Det är bara att söka på det begreppet.

Medlem sedan nov. 2003569 inlägg
#3

Men om man kör asp.net då?

Medlem sedan nov. 2003569 inlägg
#4

Men det är ju SQL kommandot jag är ute efter, INFORMATION_SCHEMA eller nåt?? , nån som vet?.

Medlem sedan sep. 20026 425 inlägg
#5
SELECT * FROM INFORMATION_SCHEMA.TABLES

? :)

Medlem sedan dec. 200012 464 inlägg
#6

information_schema finns ej i access

SELECT Name 
FROM MSysObjects 
WHERE Type=1 
AND Flags=0
Medlem sedan nov. 2003569 inlägg
#7

sant!, upptäckte det precis. :(

Men SysObject verkar inte funka riktigt :(

Fick detta felmeddelandet.
Det går inte att läsa post(er). Behörighet att läsa data saknas för 'MSysObjects'.

Underligt för jag kan läsa från databasen om jag ställer en vanlig SELECT fråga?..

Medlem sedan nov. 2003569 inlägg
#8

Och sätter jag:

DataGrid1.DataSource=oleDbCommand1.ExecuteReader(CommandBehavior.SchemaOnly);

SchemaOnly så får jag detta fel:

MinimumCapacity får inte vara negativ.
Medlem sedan nov. 2003569 inlägg
#9

Tack ändå, men jag kom på hur man gör:

			oleDbCommand1.Connection=new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Inetpub\\wwwroot\\db1.mdb;User Id=Admin;Password=;" );
			oleDbCommand1.Connection.Open();
			DataTable mytable=oleDbCommand1.Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null,null,null,"TABLE"});
			DataGrid1.DataSource=mytable;
			DataGrid1.DataBind();
			oleDbCommand1.Connection.Close();
259 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)