Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 1999 Teil von Mai

SELFHTML Forumsarchiv
Abfrage der Spaltenanzahl und -namen

Informationsseite
  1. Seite (ASP) Abfrage der Spaltenanzahl und -namen von Janko Wellmeier, 29. 05. 1999, 16:02
nach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Janko Wellmeier, 29. 05. 1999, 16:02

Hallo!
Mir liegt mal wieder eine kniffilige ASP-Frage auf der Zunge:

Ich öffne eine bestimmte Datenbank(test.mdb) mit ASP:
-- Set MyConn = Server.CreateObject("ADODB.Connection")
-- MyConn.Open "test"

In dieser Datenbank gibt es dann eine bestimmte Tabelle(tbltest).
Ich kann ja nun folgendes einfaches RecordSet, mit einem Parameter, für diese Tabelle bestimmen:
-- Set RS_NEU = MyConn.Execute("SELECT * FROM tbltext WHERE fldID=1")

Nun möchte ich in der ASP-Seite ein Formular gestalten.
Die Anfangswerte der jeweiligen Felder stehen in dem ausgewähltem Datensatz.
Also zum Beispiel der Name, das Alter etc..
Kann ich die ASP-Seite denn nun so allgemein halten, dass ersteinmal geschaut wird,
wieviele Spalten vorhanden sind, wie sie heißen und darauf hin meine ASP-Seite aufgebaut wird??

Keine Angst, mir soll hier niemand etwas programmieren. Mein spezielles Problem ist die Abfrage der Spaltenanzahl UND NAMEN!!!

Wenn das klappen sollte. Kann man das auch an der obigen Stelle mit den Tabellen machen??
Das bei der Datenbank also ersteinmal alle Tabelle abgefragt werden und dann jede einzelne Tabelle durchgearbeitet wird??


Ich hoffe jemand weiß eine Antwort, da ich so sehr vieles "einfacher" und allgemeiner gestalten könnte.



MFG
JankoW(die Welt liegt ihm zu Füßen, denn er steht drauf ;-))

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Jens Menke, 29. 05. 1999, 17:39

»» Nun möchte ich in der ASP-Seite ein Formular gestalten.
»» Die Anfangswerte der jeweiligen Felder stehen in dem ausgewähltem Datensatz.
»» Also zum Beispiel der Name, das Alter etc..
»» Kann ich die ASP-Seite denn nun so allgemein halten, dass ersteinmal geschaut wird,
»» wieviele Spalten vorhanden sind, wie sie heißen und darauf hin meine ASP-Seite aufgebaut wird??
»»

Ich hab jetzt nicht ganz Verstanden was du willst, die
Anzahl der Datensätze oder die Anzahl der Felder des
Datensatzes ?
Wenn du die Anzahl der Datensätze brauchst mach es so :

Set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open "test",,"DSN=Name;UID=Admin",1,1
records =  MyConn.recordcount

Ansonsten die Anzahl der Felder bekommste MyConn.Fields.Count
Obwohl die ja ausser bei Kreuztabellen wohl bekannt
sein sollten

gruss
Jens

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Roman Pfarrhofer, 30. 05. 1999, 09:11

Hi Leute!

»» Ansonsten die Anzahl der Felder bekommste MyConn.Fields.Count


Dafür gibt's auch einen SQL-Befehl!

Select count(*) FROM anywhere

Kann dann natürlich noch eine WHERE-Klausel hinzufügen und so weiter...


CU Roman

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Calocybe, 30. 05. 1999, 19:00

Hi Roman!

»» »» Ansonsten die Anzahl der Felder bekommste MyConn.Fields.Count

»» Dafür gibt's auch einen SQL-Befehl!
»» Select count(*) FROM anywhere

Aeh nee Du, das zaehlt die Anzahl der Datensaetze, also der Zeilen. Janko will in diesem Fall aber die Anzahl der Tabellenfelder, also der Spalten wissen. Fuer die gibt es aber keinen SQL-Befehl, es sei denn man kennt die datenbankinternen Verwaltungstabellen.

Bye by Calocybe

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Jens Menke, 30. 05. 1999, 23:33

»» Hi Roman!
»»
»» »» »» Ansonsten die Anzahl der Felder bekommste MyConn.Fields.Count
»»
»» »» Dafür gibt's auch einen SQL-Befehl!
»» »» Select count(*) FROM anywhere
»»
»» Aeh nee Du, das zaehlt die Anzahl der Datensaetze, also der Zeilen. Janko will in diesem Fall aber die Anzahl der Tabellenfelder, also der Spalten wissen. Fuer die gibt es aber keinen SQL-Befehl, es sei denn man kennt die datenbankinternen Verwaltungstabellen.
»»
»» Bye by Calocybe

Nö..

wie ich schon sagte geht das mit MyConn.fields.count  
mit MyConn.fields(n).name  bekommt man auch noch den
Namen des Feldes.

So könnte man in etwa nen Header für ne Abfrage mit
unbekannter Feldanzahl (Kreuztabelle) schreiben :

n = 0    
While n < MyConn.fields.Count
response.write MyConn.fields(N).name
n=n+1  
wend

gruss
Jens

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Calocybe, 31. 05. 1999, 05:03

Moin!

»» »» Aeh nee Du, das zaehlt die Anzahl der Datensaetze, also der Zeilen. Janko will in diesem Fall aber die Anzahl der Tabellenfelder, also der Spalten wissen. Fuer die gibt es aber keinen SQL-Befehl, es sei denn man kennt die datenbankinternen Verwaltungstabellen.

»» Nö..

Wieso noe? Ich hab doch gar nichts anderes gesagt als Du. Hab nur gesagt, dass SELECT count(*) FROM tblname; nicht die Anzahl der Spalten zaehlt, sondern die der Datensaetze. Und dass es fuer die Spalten keinen SQL-Befehl gibt. (Wenn man ueber die internen Verwaltungstabellen des jeweiligen Datenbanksystems Bescheid weiss, kriegt man es mit einem SELECT auf eine bestimmte Tabelle aber doch raus.)

»» wie ich schon sagte geht das mit MyConn.fields.count  
»» mit MyConn.fields(n).name  bekommt man auch noch den
»» Namen des Feldes.

Naja, ich sag ja gar nichts anderes.

Bye by Calocybe

P.S. He Andre! Aetsch, ich hab ja noch spaeter gepostet als Du in [link:18940.html]  ;-))

nach obennach unten

Abfrage der Spaltenanzahl und -namen

Die folgende Nachricht zum Thema stammt von: Christoph Ruhnke, 30. 05. 1999, 14:14

»» Hallo!
»» Mir liegt mal wieder eine kniffilige ASP-Frage auf der Zunge:
»»
»» Ich öffne eine bestimmte Datenbank(test.mdb) mit ASP:
»» -- Set MyConn = Server.CreateObject("ADODB.Connection")
»» -- MyConn.Open "test"
»»
»» In dieser Datenbank gibt es dann eine bestimmte Tabelle(tbltest).
»» Ich kann ja nun folgendes einfaches RecordSet, mit einem Parameter, für diese Tabelle bestimmen:
»» -- Set RS_NEU = MyConn.Execute("SELECT * FROM tbltext WHERE fldID=1")
»»
»» Nun möchte ich in der ASP-Seite ein Formular gestalten.
»» Die Anfangswerte der jeweiligen Felder stehen in dem ausgewähltem Datensatz.
»» Also zum Beispiel der Name, das Alter etc..
»» Kann ich die ASP-Seite denn nun so allgemein halten, dass ersteinmal geschaut wird,
»» wieviele Spalten vorhanden sind, wie sie heißen und darauf hin meine ASP-Seite aufgebaut wird??
»»


Wie wärs denn damit:

SQL="SELECT * FROM MeineTabelle"
DSN="MeineDSN"
Set RS=Server.CreateObject ("ADODB.Recordset")
RS.Open SQL, DSN

For Each Element In RS.Fields
Response.Write (Element)
Next

RS.Close


Mfg Christoph Ruhnke

nach obennach unten

Danke!!

Die folgende Nachricht zum Thema stammt von: Janko, 30. 05. 1999, 19:43

Erstmal vielen Dank an alle, die sich den Kopf zerbrochen haben.
Nur zur Klärung:
Calocybe hat recht--> Ich wollte nicht die Datensätze, sondern die Spalten abfragen (und den Namen haben).
Ich werde es jetzt (mit Euren Vorschlägen im Hinterkopf) nocheinmal versuchen.
Also


Danke ;-)


Janko

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 1999 Teil von Mai

© 1998-2006 Seite Impressum, Software: Classic Forum