這是我的一段代碼。我得到所有的表名和列名在數據庫中。現在我需要知道列的類型。像它的int或varchar或別的什麼東西。可以幫我嗎?順便說一句,這是C#。需要找到DB的列的類型
OleDbConnection con = new OleDbConnection(connectionString);
DataTable schemaCols;
DataTable schemaTbl;
List<string> tablesnames = new List<string>();
string returnString="";
try
{
con.Open();
object[] objArrRestrict;
objArrRestrict = new object[] { null, null, null, "TABLE" };
schemaTbl = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, objArrRestrict);
foreach (DataRow row in schemaTbl.Rows)
{
tablesnames.Add(row["TABLE_NAME"].ToString());
}
List<string> columnnames = new List<string>();
foreach (string str in tablesnames)
{
string selTbl = str;
//con.Open();
object[] objArrRestrictNew;
objArrRestrictNew = new object[] { null, null, selTbl, null };
//
schemaCols = con.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, objArrRestrictNew);
foreach (DataRow row in schemaCols.Rows)
{
columnnames.Add(row["COLUMN_NAME"].ToString());
}
}
}
感謝您的回覆..但這是以前所未有的方式。我需要從數據庫中檢索具有thr類型的所有表和列。在它顯示的創建datatable和dataColumn的鏈接。我上面寫的代碼是泛化的一個..它將適用於包括Excel在內的任何數據庫。 – Bhaswanth 2010-08-05 17:54:59