Esempio n. 1
0
        public bool Set(object id, object value)
        {
            var result = false;

            while (true)
            {
                if (!YoConvert.ToInt(ref id))
                {
                    break;
                }

                if (value == null)
                {
                    result = sqlDelete((int)id);
                    break;
                }

                result = sqlSet((int)id, value);
                break;
            }
            if (!result && m_errorDict.ContainsKey(DB))
            {
                if (createTable())
                {
                    result = Set(id, value);
                }
            }
            return(result);
        }
Esempio n. 2
0
        // 2
        public bool SyncStructureRefer()
        {
            var result = false;

            while (true)
            {
                if (!m_tableModel.HasRow)
                {
                    break;
                }

                if (m_tableModel.Row.init_title)
                {
                    result = true;
                    break;
                }

                var referList = YoConvert.ToList(m_tableModel.Row.refer);
                foreach (var table in referList)
                {
                    var tableLogic = new TableLogic(table);;
                    tableLogic.SyncStructureReferField(m_table + _id);
                }

                result = true;
                break;
            }
            return(result);
        }
Esempio n. 3
0
        // 2.1
        public bool SyncStructureReferField(string field)
        {
            var result = false;

            while (true)
            {
                if (string.IsNullOrEmpty(field))
                {
                    break;
                }

                if (!m_tableModel.HasRow)
                {
                    break;
                }

                var fieldList = YoConvert.ToList(m_tableModel.Row.title);
                if (!fieldList.Contains(field))
                {
                    break;
                }

                m_metaTitleTable.CleanTable();
                m_tableModel.Row.init_title = false;
                result = m_tableModel.ModifyRow(m_tableModel.Row);
                break;
            }
            return(result);
        }
Esempio n. 4
0
        public bool GetColumn()
        {
            var result = false;

            while (true)
            {
                m_sysColumn = null;
                var sql = string.Format("SELECT {0},{1},{2},{3} FROM information_schema.columns WHERE table_schema='{4}' AND table_name='{5}' ",
                                        column_name, data_type, column_type, column_comment, m_schema_table, m_table);
                sql += string.Format(" and `{0}`='{1}'", column_name, m_column);
                if (!FindRow(sql))
                {
                    break;
                }

                m_sysColumn             = new sys_column();
                m_sysColumn.column_name = m_column;

                // comment
                var comment = YoConvert.Text2Json(m_dataRow[column_comment] as string);

                // format
                var formatStr = ConfigHelper.GetValue(comment, format);
                if (formatStr != null)
                {
                    m_sysColumn.format = formatStr.ToString();
                }

                // datatype
                m_sysColumn.datatype = YoSqlHelper.GetDataType(m_column, m_dataRow[data_type] as string, comment);
                switch (m_sysColumn.datatype)
                {
                case DataType.Refer: {
                    m_sysColumn.refer = YoSqlHelper.GetReferTable(m_column);
                }
                break;

                case DataType.Set: {
                    var itemArr = YoSqlHelper.GetSetList(m_dataRow[column_type]);
                    m_sysColumn.set = string.Join(",", itemArr);
                }
                break;
                }

                result = true;
                break;
            }
            return(result);
        }
Esempio n. 5
0
        public object Get(object id)
        {
            if (!YoConvert.ToInt(ref id))
            {
                return(null);
            }

            var result = sqlGet((int)id);

            if (result == null && m_errorDict.ContainsKey(DB))
            {
                createTable();
            }
            return(result);
        }
Esempio n. 6
0
        public bool GetTable()
        {
            var result = false;

            while (true)
            {
                m_sysTable = null;
                var sql = string.Format("SELECT {0}, {1} FROM information_schema.tables WHERE table_schema='{2}'",
                                        table_name, table_comment, m_schema_table);
                sql += string.Format(" and `{0}`='{1}'", table_name, m_table);
                if (!FindRow(sql))
                {
                    break;
                }

                m_sysTable            = new sys_table();
                m_sysTable.table_name = m_table;

                // comment
                var comment = YoConvert.Text2Json(m_dataRow[table_comment] as string);
                if (comment != null)
                {
                    // title
                    var title = comment[nameof(m_sysTable.title)];
                    if (title != null)
                    {
                        m_sysTable.title = title.ToString();
                    }
                }

                // get refer
                var refer = (new MetaRefer(m_table)).GetReferTables();
                m_sysTable.refer = string.Join(",", refer);

                result = true;
                break;
            }
            return(result);
        }