修改日期 | 修改人 | 备注 |
2020-04-01 10:17:51[当前版本] | 陈一奇 | 格式调整 |
2020-04-01 10:17:27 | 陈一奇 | 格式调整 |
2020-04-01 10:14:40 | 陈一奇 | 格式调整 |
2020-04-01 10:12:57 | 陈一奇 | 格式调整 |
#region 获取数据库表信息列表 /// <summary> /// 获取数据库表信息列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public Task <List<string>> GetTableList(string input) { using (MySqlConnection conn = GetConnection()) { List<string> dic = new List<string>(); MySqlCommand cmd = conn.CreateCommand(); if (string.IsNullOrEmpty(input)) { cmd.CommandText = "select table_name from information_schema.tables where table_schema='数据库名称' "; } else { cmd.CommandText =string.Format("select table_name from information_schema.tables where table_schema='数据库名称' and table_name like '%{0}%'",input); } using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { string table = reader.GetString("table_name"); dic.Add(table); } } return Task.FromResult(dic); } }
#region 根据表名获取数据库表字段信息 /// <summary> /// 根据表名获取数据库表字段信息 /// </summary> /// <param name="table"></param> /// <returns></returns> public Task<List<MyTable>> GetFieldList(string table) { using (MySqlConnection conn = GetConnection()) { Dictionary<string, MyTable> dic = new Dictionary<string, MyTable>(); MySqlCommand cmd = conn.CreateCommand(); cmd.CommandText =string.Format("select table_name,column_name,data_type,column_comment from information_schema.columns where table_schema='数据库名称' and table_name='{0}'",table); using (MySqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { Columns columns = new Columns(); string column = reader.GetString("column_name"); string types = reader.GetString("data_type"); string comment = reader.GetString("column_comment"); columns.ColumnName = column; columns.TypeName = types; columns.comment = comment; if (dic.ContainsKey(table)) { dic[table].ColumnList.Add(columns); } else { MyTable t = new MyTable(); t.Table = table; t.ColumnList.Add(columns); dic.Add(t.Table, t); } } } return Task.FromResult(dic.Values.ToList()); } } #endregion public MySqlConnection GetConnection() { MySqlConnection conn = new MySqlConnection(ConfigurationManager.conns); conn.Open(); return conn; }
public class ConfigurationManager { public readonly static IConfiguration Configuration; static ConfigurationManager() { // Configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true) .Build(); } public static string conns { get { return Configuration.GetConnectionString("Default"); } } }
public class MyTable { public string Table { get; set; } public List<Columns> ColumnList { get; set; } = new List<Columns>(); } public class Columns { public string ColumnName { get; set; } public string TypeName { get; set; } public string comment { get; set; } }