# Schema Details

## Content



The ADO.NET provider for Kintone supports schema discovery using ADO.NET classes or SQL statements to the system tables. This is done through the [GetSchema](/componentone/api/services/online-dataconnector/dotnet-standard-api/C1.AdoNet.Kintone/C1.AdoNet.Kintone.C1KintoneConnection.html#GETSCHEMA) method of the [C1KintoneConnection](/componentone/api/services/online-dataconnector/dotnet-standard-api/C1.AdoNet.Kintone/C1.AdoNet.Kintone.C1KintoneConnection.html) class, which optionally specifies the schema name and restriction values.

In the following **code example**, the **GetSchema** method is called to return the tables in the database. In the second call, the method returns the columns in a specific data table.

```csharp
static void SchemaDetails()
{
    const string Username = "*******";
    const string Password = "*********";
    const string Url = "https://xg0w2.kintone.com";
    string kintoneConnection = string.Format("Username={0};Password={1};Url={2}", Username, Password, Url);
    using (C1KintoneConnection connection = new C1KintoneConnection(kintoneConnection))
    {
        connection.Open();
        //Get list of tables
        DataTable databaseTables = connection.GetSchema("Tables");
        Console.WriteLine("List of Tables in database:");
        foreach (DataRow row in databaseTables.Rows)
        {
            //Display Tablename
            Console.WriteLine(row["TableName"]);
        }
        //Get column names in a table
        DataTable datatableColumns = connection.GetSchema("Columns", new string[] { "Products" });
        Console.WriteLine("\n Products Table columns:");
        foreach (DataRow column in datatableColumns.Rows)
        {
            //Display column properties                  
            Console.Write(column["ColumnName"]);
            Console.Write("\t" + column["DataType"]);                    
        }
    }
}
```

Alternatively to the **GetSchema** method, you can also use the [GetSchemaTable](/componentone/api/services/online-dataconnector/dotnet-standard-api/C1.AdoNet.Kintone/C1.AdoNet.Kintone.C1KintoneDataReader.GetSchemaTable.html) method of the **C1DataReader** class which returns a DataTable with the definition of the column metadata.