Get Data Type of field/column?
-
Hi, Is it possible, with an SQL statement, to retrive a column's data type? Note: working with MS Access 2000 database (OleDbCommand in C#). Ron
-
Hi, Is it possible, with an SQL statement, to retrive a column's data type? Note: working with MS Access 2000 database (OleDbCommand in C#). Ron
Hi Ron, You may try the following code snippet and see if this helps. -------------------------------------------------------------------------- BEGIN CODE using System; using System.Data; using System.Data.OleDb; public class DatabaseInfo { public static void Main () { String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\DataBaseName.mdb"; OleDbConnection con = new OleDbConnection(connect); con.Open(); Console.WriteLine("Made the connection to the database"); String cmd = "SELECT * FROM YourTableName"; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand(cmd, con); DataSet ds = new DataSet(); adapter.Fill(ds, "YourTableName"); DataTable item = ds.Tables[0]; Console.WriteLine("Table name: {0}", item.TableName); Console.WriteLine("Its columns are:"); foreach (DataColumn col in item.Columns) Console.WriteLine("{0}\t{1}", col.ColumnName, col.DataType); con.Close(); } } END CODE Hope this helps :). --------------------------------------------------------------------------
Regards, John Adams ComponentOne LLC
-
Hi Ron, You may try the following code snippet and see if this helps. -------------------------------------------------------------------------- BEGIN CODE using System; using System.Data; using System.Data.OleDb; public class DatabaseInfo { public static void Main () { String connect = "Provider=Microsoft.JET.OLEDB.4.0;data source=.\\DataBaseName.mdb"; OleDbConnection con = new OleDbConnection(connect); con.Open(); Console.WriteLine("Made the connection to the database"); String cmd = "SELECT * FROM YourTableName"; OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand(cmd, con); DataSet ds = new DataSet(); adapter.Fill(ds, "YourTableName"); DataTable item = ds.Tables[0]; Console.WriteLine("Table name: {0}", item.TableName); Console.WriteLine("Its columns are:"); foreach (DataColumn col in item.Columns) Console.WriteLine("{0}\t{1}", col.ColumnName, col.DataType); con.Close(); } } END CODE Hope this helps :). --------------------------------------------------------------------------
Regards, John Adams ComponentOne LLC
Thanks John! I thought there might be an issue if no rows were returned, but it works great, thanks! Ron