C#获取数据库中所有的表名称,数据类型和表中所有数据

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace mysqltest
{
class mysql
{

public static List list_tblName, coltype;
static String connetStr = “server=127.0.0.1;port=3306;user=root;password=mysql123; database=mytest;”;
// static String connetStr = “server=127.0.0.1;port=3306;user=root;password=mysql123;”;
// server=127.0.0.1/localhost 代表本机,端口号port默认是3306可以不写
static MySqlConnection conn = new MySqlConnection(connetStr);
//获取数据库中所有的表
public static bool GetTableName()
{
string sql = “show tables;”;
conn.open();
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);
main.AddMsgSys(“查询到表:”+t);
list_tblName.Add(t);
}
}
reader.Close();
// closeconn();
return true;
}
catch (Exception ex)
{
main.AddMsgErr(ex.Message);
reader.Close();
// closeconn();
return false;
}
}
//获取表的列名和数据类型
public static bool GetColNameType(string _params=“mytable”)
{
conn.open();
MySqlCommand cmd = null;
MySqlDataReader reader = null;
List list_ColName = new List();
List list_ColType = new 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);
main.AddMsgSys(“列名:”+t+";数据类型:"+ttt);
list_ColName.Add(t);
list_ColType.Add(tt);
coltype.Add(ttt);
// string qq = reader.GetString(t);
// main.AddMsgSys(“获取内容” + t + “:” + qq);

                }
            }
            reader.Close();
           
            return true;
        }
        catch (Exception ex) {
            main.AddMsgErr(ex.Message);
            return false; }
    }
    //获取表中所有数据
    public static void GetAllLine(string tablename = "mytable")
    {
     conn.open();
        MySqlCommand cmd = null;
        MySqlDataReader reader = null;
        MySqlDataReader reader1 = null;
        List<string> list_ColName = new List<string>();
        string sql = "show columns from " + tablename + " ;";
        cmd = new MySqlCommand(sql, conn);
        //  if (!openconn()) { return false; }          
        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);
                    main.AddMsgSys("列名:" + t + ";数据类型:" + ttt);
                    list_ColName.Add(t);                     
                }
            }
            reader.Close();
            cmd = new MySqlCommand("select * from " + tablename + " ;", conn);
            reader1 = cmd.ExecuteReader();
            if (reader1.HasRows)
            {                                 
                    // 逐行读取数据
                    while (reader1.Read())
                    {
                        foreach (var t in list_ColName)
                        {
                            string qq = reader1.GetString(t);
                            main.AddMsgSys("获取列:" + t + "内容:" + qq);
                        }
                    }
                
            }
            reader1.Close();

        }
        catch (Exception ex)
        {
            reader1.Close();
            reader.Close();
            main.AddMsgErr(ex.Message);
        }


    }
    }
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值