您的位置:首页 > 数据库 > MySQL

C#获取MySQL数据库中的所有的表名和字段名及字段的数据类型

2014-11-17 17:27 2907 查看
获取表名
public bool GetTableName()
{
string sql = "show tables;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader reader = null;
try
{
if (!openconn()) return false;
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
list_tblName = new List<string>();
while (reader.Read())
{
string t = reader.GetString(0);
list_tblName.Add(t);
}
}
reader.Close();
closeconn();
return true;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
reader.Close();
closeconn();
return false;
}

}
获取一张表中的所有字段(列)名和字段数据类型
public bool GetColNameType(string _params)
{
MySqlCommand cmd = null;
MySqlDataReader reader = null;
List<string> list_ColName = new List<string>();
List<Type> list_ColType = new List<Type>();
string sql = "show columns from " + _params + " ;";
if (!openconn()) { return false; }
cmd = new MySqlCommand(sql, conn);
try
{
reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
string t = reader.GetString(0);
Type tt = reader.GetValue(1) as Type;

string ttt = reader.GetString(1);
list_ColName.Add(t);
list_ColType.Add(tt);
coltype.Add(ttt);
}
}
reader.Close();
closeconn();
return true;
}
catch (Exception e) { return false; }
}

以下是网上搜到的方法:

查询数据库中所有表名

select table_name from information_schema.tables where table_schema='csdb' and table_type='base table';

查询指定数据库中指定表的所有字段名column_name

select column_name from information_schema.columns where table_schema='csdb' and table_name='users'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐