2016-11-23 3 views
1

Ich versuche, Datenbanktabellen nach ObjectType zu bekommen, wie kann ich das erreichen? bisher habe ich versucht, diese MethodeHolen Sie sich die Datenbanktabelle in C#

public void GetTableByObjectType(string ObjectType) { 
     SqlConnection conn = new SqlConnection(
      "Data Source=Local;Initial Catalog=myConnection;User ID=sa;Password=12345"); 
      DataTable t = conn.GetSchema("Objectype"); 
+0

Sie suchen nur die Liste der Tabellen in der Datenbank zu bekommen? –

+0

Ich glaube, dass GetSchema Sie das Schema der DB bekommen wird -> alle Tabellen, alle Ansichten, etc .. – Tatranskymedved

Antwort

0

Dieser Code wird Ihnen helfen, alle Tabellen aus der Datenbank erhalten, die Sie

string SQLExpression = "SELECT * FROM SYS.Tables Order By Name"; 

SqlConnection conn = new SqlConnection(
       "Data Source=Local;Initial Catalog=myConnection;User ID=sa;Password=12345"); 

SqlDataAdapter adp = new SqlDataAdapter(SQLExpression, cn); 

DataSet ds = new DataSet(); 

adp.Fill(ds, "SystemData"); 
0

In diesem Beispiel erhalten Sie das Schema der Tabellen zugreifen möchten von Ihrem db:

String ObjectType = "Tables"; //collectionName argument to get Tables 

String[] tableRestrictions = new String[4]; 
tableRestrictions[2] = "TableYouWant"; //name of the table whose get the schema 
DataTable courseTableSchemaTable = conn.GetSchema(ObjectType, tableRestrictions); 

Sie können vier Einschränkungen für die Tabellensammlung verwenden, daher sollten Sie ein Array mit 4 Elementen erstellen. für das Array tableRestrictions:

  • 0-Mitglied darstellt Katalog;
  • 1-köpfige repräsentiert Schema;
  • 2-Mitglieder repräsentiert Tabellenname;
  • 3-gliedrigen repräsentiert Tabelle Typ.

siehe auch: https://msdn.microsoft.com/it-it/library/ms136366(v=vs.110).aspx

Verwandte Themen