Verwenden von GetSchemaTable (), um nur Spaltennamen abzurufen

8

Kann GetSchemaTable() verwendet werden, um nur Spaltennamen abzurufen?

Ich habe versucht, Spaltennamen (nur) mit dieser Methode abzurufen, ist es möglich.

%Vor%

Dieser Code ruft viele Tabellendaten unerwünscht ab, ich brauche nur eine Liste mit Spaltennamen!:

    
user1495962 28.08.2012, 14:01
quelle

4 Antworten

18

Sie müssen ExecuteReader(CommandBehavior.SchemaOnly)) verwenden:

%Vor%

SchemaOnly :

  

Die Abfrage gibt nur Spalteninformationen zurück. Wenn Sie SchemaOnly verwenden,   .NET Framework-Datenanbieter für SQL Server steht vor der Anweisung   Wird mit SET FMTONLY ON ausgeführt.

Der Spaltenname steht in der ersten Spalte jeder Zeile. Ich denke nicht, dass es möglich ist, die anderen Spalteninformationen wie ColumnOrdinal,ColumnSize,NumericPrecision usw. wegzulassen, da Sie in diesem Fall reader.GetString , aber nur reader.GetSchemaTable nicht verwenden können.

Aber Ihre Schleife ist falsch, wenn Sie nur die Spaltennamen wollen:

%Vor%     
Tim Schmelter 28.08.2012, 14:05
quelle
0

Ändern Sie Ihren Code, wenn Sie nur die Spaltennamen anzeigen möchten. Ihr ursprünglicher Code versuchte nicht nur Spaltennamen anzuzeigen, sondern auch die tatsächlichen Datenwerte anzuzeigen.

%Vor%     
code4life 28.08.2012 14:32
quelle
0

Dies wird Ihnen alle Spaltennamen geben, Sie können sie in string[] platzieren und mit ihnen machen, was Sie wollen.

%Vor%     
Nate 27.09.2013 12:44
quelle
0
%Vor%     
Romita Dinda 15.11.2013 16:16
quelle

Tags und Links