Ejemplo n.º 1
0
        public SQLReader(string database, string tableName = "", string id = "root", string pwd = "123456", string host = "127.0.0.1", string port = "3306")
        {
            this.database            = database;
            this.id                  = id;
            this.pwd                 = pwd;
            this.host                = host;
            this.port                = port;
            this.currentDataTypeName = tableName;

            MySQLManager.OpenSql(host, database, id, pwd, port);

            if (string.IsNullOrEmpty(currentDataTypeName))
            {
                string name = MySQLManager.GetAllTableName().GetRow(0).TryGet(0);
                currentDataTypeName = name;
            }

            fieldDict = new Dictionary <string, Type>();
            List <string> members = GetMemberNames();
            List <Type>   types   = GetMemberTypes();

            for (int i = 0; i < members.Count; i++)
            {
                fieldDict.Add(members[i], types[i]);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获得所有表名
        /// </summary>
        /// <returns></returns>
        public string[] GetSheetNames()
        {
            if (!IsValid())
            {
                return(null);
            }

            return(MySQLManager.GetAllTableName().GetColume(0).ToArraySavely());
        }
Ejemplo n.º 3
0
        protected override void ShowOpen()
        {
            GUIStyle headStyle = GUIHelper.MakeHeader();

            GUILayout.Label("Input SQL", headStyle);
            EditorGUILayout.Space();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Url:", GUILayout.Width(100));
            url = GUILayout.TextField(url, GUILayout.Width(250));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Id:", GUILayout.Width(100));
            id = GUILayout.TextField(id, GUILayout.Width(250));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("PassWord:"******"Databse:", GUILayout.Width(100));
            //database = GUILayout.TextField(database, GUILayout.Width(250));
            //GUILayout.EndHorizontal();

            if (GUILayout.Button("Connect", GUILayout.Width(150)))
            {
                try
                {
                    reader = new SQLReader(string.Empty, string.Empty, id, pwd, url, port);
                }
                catch (Exception e)
                {
                    reader = null;
                    Debug.LogException(e);
                }
            }

            if (reader != null)
            {
                string[] databaseNames = MySQLManager.GetAllDatabaseName().GetColume(0).ToArray();
                EditorGUILayout.LabelField("Database: ", GUILayout.Width(100));
                currentDatabaseIndex = EditorGUILayout.Popup(currentDatabaseIndex, databaseNames, GUILayout.Width(100));
                if (databaseNames != null)
                {
                    currentDatabseName = databaseNames[currentDatabaseIndex];
                    reader             = new SQLReader(currentDatabseName, "", id, pwd, url, port);
                    //databaseNames = MySQLManager.GetAllDatabaseName().GetColume(0).ToArray();
                }

                string[] tableNames = MySQLManager.GetAllTableName().GetColume(0).ToArray();
                EditorGUILayout.LabelField("Worksheet: ", GUILayout.Width(100));
                currentSheetIndex = EditorGUILayout.Popup(currentSheetIndex, tableNames, GUILayout.Width(100));
                if (tableNames != null)
                {
                    currentSheetName = tableNames[currentSheetIndex];
                    reader           = new SQLReader((reader as SQLReader).database, currentSheetName, id, pwd, url, port);
                    //tableNames = reader.GetSheetNames();
                }

                EditorGUILayout.LabelField("DataType: ", GUILayout.Width(100));
                currentExcelType = (DataType)EditorGUILayout.EnumPopup(currentExcelType, GUILayout.Width(100));
            }
        }