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

来源:互联网 发布:mac 程序安装目录 编辑:程序博客网 时间:2024/04/29 04:02
    获取表名    
     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'    
0 0
原创粉丝点击