#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; }
}
| 修改日期 | 修改人 | 备注 |
| 2020-04-01 10:17:51[当前版本] | 陈一奇 | 格式调整 |
| 2020-04-01 10:17:27 | 陈一奇 | 格式调整 |
| 2020-04-01 10:14:40 | 陈一奇 | 格式调整 |
| 2020-04-01 10:12:57 | 陈一奇 | 格式调整 |