c# asp.net 获取access所有表名 获取指定表所有字段名
/// <summary>
/// 取所有表名
/// </summary>
/// <returns></returns>
public
List<
string
> GetTableNameList()
{
List<
string
> list =
new
List<
string
>();
OleDbConnection Conn =
new
OleDbConnection(ConnStr);
try
{
if
(Conn.State == ConnectionState.Closed)
Conn.Open();
DataTable dt = Conn.GetSchema(
"Tables"
);
foreach
(DataRow row
in
dt.Rows)
{
if
(row[3].ToString() ==
"TABLE"
)
list.Add(row[2].ToString());
}
return
list;
}
catch
(Exception e)
{
throw
e; }
finally
{
if
(Conn.State == ConnectionState.Open) Conn.Close(); Conn.Dispose(); }
}
/// <summary>
/// 取指定表所有字段名称
/// </summary>
/// <returns></returns>
public
List<
string
> GetTableFieldNameList(
string
TableName)
{
List<
string
> list =
new
List<
string
>();
OleDbConnection Conn =
new
OleDbConnection(ConnStr);
try
{
if
(Conn.State == ConnectionState.Closed)
Conn.Open();
using
(OleDbCommand cmd =
new
OleDbCommand())
{
cmd.CommandText =
"SELECT TOP 1 * FROM ["
+ TableName +
"]"
;
cmd.Connection = Conn;
OleDbDataReader dr = cmd.ExecuteReader();
for
(
int
i = 0; i < dr.FieldCount; i++)
{
list.Add(dr.GetName(i));
}
}
return
list;
}
catch
(Exception e)
{
throw
e; }
finally
{
if
(Conn.State == ConnectionState.Open)
Conn.Close();
Conn.Dispose();
}
}