public static void T_CreateDatabaseInfo_Utils() { var connStr = GetMySqlConnString(); var conn = new MySqlConnection(connStr); conn.Open(); MySqlDbServerInfo serverInfo = new MySqlDbServerInfo("test"); serverInfo.ReloadDatabaseList(conn); foreach (MySqlDatabaseInfo db in serverInfo.Databases.Values) { db.ReloadTableList(conn, true); db.ReloadStoreFuncList(conn, true); db.ReloadStoreProcList(conn, true); foreach (MySqlTableInfo tbl in db.Tables) { //we can find more detail from 'show create table ...' sql string createTableSql = tbl.GetShowCreateTableSql(conn); } foreach (MySqlStoreProcInfo storeProc in db.StoreProcs) { string createdBySql = storeProc.Sql; } foreach (MySqlStoreFuncInfo storeFunc in db.StoreFuncs) { string createdBySql = storeFunc.Sql; } } //-------------------- conn.Close(); }
public static void T_CreateDatabaseInfo_SqlTableToCsMapperCodeGen() { var connStr = GetMySqlConnString(); var conn = new MySqlConnection(connStr); conn.Open(); var serverInfo = new MySqlDbServerInfo("test"); serverInfo.ReloadDatabaseList(conn); var csCodeGen = new SharpConnect.MySql.CodeMapper.CsCodeMapperGenerator(); csCodeGen.StBuilder = new StringBuilder(); foreach (MySqlDatabaseInfo db in serverInfo.Databases) { db.ReloadTableList(conn, true); foreach (MySqlTableInfo tbl in db.Tables) { if (tbl.Name == "test_table") { csCodeGen.GenerateCsCodeForSqlTable(tbl); } } } //-------------------- conn.Close(); }
public static void T_CreateDatabaseInfo_SqlTableToCsMapperCodeGen() { var connStr = GetMySqlConnString(); var conn = new MySqlConnection(connStr); conn.Open(); var serverInfo = new MySqlDbServerInfo("test"); serverInfo.ReloadDatabaseList(conn); var csCodeGen = new SharpConnect.MySql.SqlLang.MySqlInfoToCsCodeGenerator(); StringBuilder outputStBulder = new StringBuilder(); foreach (MySqlDatabaseInfo db in serverInfo.Databases.Values) { db.ReloadTableList(conn, true); foreach (MySqlTableInfo tbl in db.Tables) { //just test if (tbl.Name == "test001") { // string createSql = ""; string sql = "SHOW CREATE TABLE " + db.Name + "." + tbl.Name; var cmd = new MySqlCommand(sql, conn); var reader = cmd.ExecuteReader(); if (reader.Read()) { createSql = reader.GetString(1); } reader.Close(); //----------------------- if (createSql != "") { var parser = new SharpConnect.MySql.SqlLang.MySqlParser(); parser.ParseSql(createSql); if (parser.ResultTables.Count > 1) { csCodeGen.GenerateCsCode(parser.ResultTables[0], outputStBulder); } } } } } //-------------------- conn.Close(); }
/// <summary> /// reload database name from specific server /// </summary> /// <param name="dbServer"></param> /// <param name="conn"></param> public static void ReloadDatabaseList(this MySqlDbServerInfo dbServer, MySqlConnection conn, string[] onlyDbs = null) { var cmd = new MySqlCommand("show databases", conn); var reader = cmd.ExecuteReader(); Dictionary <string, MySqlDatabaseInfo> databaseList = new Dictionary <string, MySqlDatabaseInfo>(); if (onlyDbs != null && onlyDbs.Length > 0) { Dictionary <string, bool> filterDbs = new Dictionary <string, bool>(); foreach (string db in onlyDbs) { filterDbs.Add(db.ToUpper(), true); } while (reader.Read()) { //read database name string dbInfoName = reader.GetString(0); if (filterDbs.ContainsKey(dbInfoName.ToUpper())) { databaseList.Add(dbInfoName.ToUpper(), new MySqlDatabaseInfo(dbInfoName) { OwnerDbServer = dbServer }); } } reader.Close(); } else { while (reader.Read()) { //read database name string dbInfoName = reader.GetString(0); databaseList.Add(dbInfoName.ToUpper(), new MySqlDatabaseInfo(dbInfoName) { OwnerDbServer = dbServer }); } reader.Close(); } //---------- dbServer.Databases = databaseList; }
/// <summary> /// reload database name from specific server /// </summary> /// <param name="dbServer"></param> /// <param name="conn"></param> public static void ReloadDatabaseList(this MySqlDbServerInfo dbServer, MySqlConnection conn) { var cmd = new MySqlCommand("show databases", conn); var reader = cmd.ExecuteReader(); List <MySqlDatabaseInfo> databaseList = new List <MySqlDatabaseInfo>(); while (reader.Read()) { //read database name databaseList.Add(new MySqlDatabaseInfo(reader.GetString(0)) { OwnerDbServer = dbServer }); } reader.Close(); //---------- dbServer.Databases = databaseList; }
private void tlstrpRefreshDBs_Click(object sender, EventArgs e) { //generate list of databases //and its table var connStr = GetLocalConnString(); var conn = new MySqlConnection(connStr); conn.Open(); //connect to server name MySqlDbServerInfo serverInfo = new MySqlDbServerInfo("test"); serverInfo.ReloadDatabaseList(conn); this.treeView1.Nodes.Clear(); foreach (MySqlDatabaseInfo dbInfo in serverInfo.Databases.Values) { dbInfo.ReloadTableList(conn, true); dbInfo.ReloadStoreFuncList(conn, true); dbInfo.ReloadStoreProcList(conn, true); //show database ... TreeNode dbNode = new TreeNode("database:" + dbInfo.Name); dbNode.Tag = dbInfo; this.treeView1.Nodes.Add(dbNode); foreach (MySqlTableInfo tbl in dbInfo.Tables) { TreeNode tblNode = new TreeNode("table:" + tbl.Name); tblNode.Tag = tbl; foreach (MySqlColumnInfo colInfo in tbl.Columns) { TreeNode colNode = new TreeNode("col:" + colInfo.Name + "," + colInfo.FieldTypeName); colNode.Tag = colInfo; tblNode.Nodes.Add(colNode); } dbNode.Nodes.Add(tblNode); //show table information } } conn.Close(); }
/// <summary> /// reload database name from specific server /// </summary> /// <param name="dbServer"></param> /// <param name="conn"></param> public static void ReloadDatabaseList(this MySqlDbServerInfo dbServer, MySqlConnection conn) { var cmd = new MySqlCommand("show databases", conn); var reader = cmd.ExecuteReader(); Dictionary <string, MySqlDatabaseInfo> databaseList = new Dictionary <string, MySqlDatabaseInfo>(); while (reader.Read()) { //read database name string dbInfoName = reader.GetString(0); databaseList.Add(dbInfoName.ToUpper(), new MySqlDatabaseInfo(dbInfoName) { OwnerDbServer = dbServer }); } reader.Close(); //---------- dbServer.Databases = databaseList; }