获取表名
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();
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 list_ColName = new List();
List list_ColType = new List();
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'