Use Getoledbschematable To Get The Columns Of A Table Named "street"
I'm trying to read the column names of a table 'Streets' in an Access database by opening an OleDbConnection. I call GetOleDbSchemaTable but I can't seem to figure out how to get
Solution 1:
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
DataTable tableColumns = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, "Streets", null }));
foreach (DataRow row in tableColumns.Rows)
{
var columnNameColumn = row["COLUMN_NAME"];
var dateTypeColumn = row["DATA_TYPE"];
var ordinalPositionColumn = row["ORDINAL_POSITION"];
...
}
}
Solution 2:
This works for me, puts column names of table street in a list
OleDbCommand mdbCommand = new OleDbCommand("SELECT * FROM Streets", mdbConnection);
OleDbDataReader myReader = mdbCommand.ExecuteReader(CommandBehavior.KeyInfo);
DataTable schemaTable = myReader.GetSchemaTable();
List<String> columnNameList = new List<string>();
foreach (DataRow myField in schemaTable.Rows)
{
foreach (DataColumn myProperty in schemaTable.Columns)
{
if (myProperty.ColumnName == "ColumnName") columnNameList.Add(myField[myProperty].ToString());
}
}
Post a Comment for "Use Getoledbschematable To Get The Columns Of A Table Named "street""