Example #1
0
        protected virtual string Insert(IFreeDocument data, string dbTableName)
        {
            FreeDocument item = data.DictSerialize(Scenario.Database);
            var          sb   = new StringBuilder();

            foreach (var o in item)
            {
                string value;
                if (o.Value is DateTime)
                {
                    value = ((DateTime)o.Value).ToString("s");
                }
                else
                {
                    if (o.Value == null)
                    {
                        value = "null";
                    }
                    else
                    {
                        value = o.Value.ToString();
                    }
                }
                value = value.Replace("'", "''");
                sb.Append($"'{value}',");
            }
            sb.Remove(sb.Length - 1, 1);
            string sql = $"INSERT INTO {dbTableName} VALUES({sb})";

            return(sql);
        }
Example #2
0
        public virtual void SaveOrUpdateEntity(
            IFreeDocument updateItem, string tableName, IDictionary <string, object> keys, EntityExecuteType executeType = EntityExecuteType.InsertOrUpdate)
        {
            var          sb   = new StringBuilder();
            FreeDocument data = updateItem.DictSerialize(Scenario.Database);

            if (data.Count >= 1)
            {
                foreach (var val in data)
                {
                    sb.Append($" {val.Key} = '{val.Value}',");
                }

                sb = sb.Remove(sb.Length - 1, 1);
            }

            try
            {
                ExecuteNonQuery($"update {GetTableName(tableName)} set {sb} where {ToString()};");
            }

            catch (Exception e)
            {
                XLogSys.Print.Debug($"insert database error {e.Message}");
            }
        }
Example #3
0
        public virtual void SaveOrUpdateEntity(
            IFreeDocument updateItem, string tableName, IDictionary <string, object> keys, EntityExecuteType executeType = EntityExecuteType.InsertOrUpdate)
        {
            FreeDocument data = updateItem.DictSerialize(Scenario.Database);

            foreach (var key in data.Keys.ToList())
            {
                var value = "";
                if (data[key] != null)
                {
                    value = data[key].ToString();
                }
                value     = value.Replace("'", "''");
                data[key] = value;
            }
            var str = ",".Join(data.Select(d => $"{d.Key}='{d.Value}'"));

            try
            {
                ExecuteNonQuery($"update {GetTableName(tableName)} set {str} ");
            }

            catch (Exception e)
            {
                XLogSys.Print.Debug($"insert database error {e.Message}");
            }
        }
Example #4
0
        public virtual void SaveOrUpdateEntity(
            IFreeDocument updateItem, string tableName, IDictionary <string, object> keys, EntityExecuteType executeType = EntityExecuteType.InsertOrUpdate)
        {
            var          sb   = new StringBuilder();
            FreeDocument data = updateItem.DictSerialize(Scenario.Database);

            if (data.Count >= 1)
            {
                foreach (var val in data)
                {
                    sb.Append(String.Format(" {0} = '{1}',", val.Key, val.Value));
                }

                sb = sb.Remove(sb.Length - 1, 1);
            }

            try
            {
                ExecuteNonQuery(String.Format("update {0} set {1} where {2};", GetTableName(tableName), sb, ToString()));
            }

            catch
            {
            }
        }
Example #5
0
        public static JsonObject GetJsonObject(IFreeDocument data)
        {
            IEnumerable <KeyValuePair <string, object> > dicts =
                data.DictSerialize();

            string[] keys  = dicts.Select(d => d.Key).ToArray();
            object[] value = dicts.Select(d => Node2Item(d.Value)).ToArray();
            var      rc    = new JsonObject(keys, value);

            return(rc);
        }
Example #6
0
        public virtual bool CreateTable(IFreeDocument example, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new Exception(GlobalHelper.Get("key_29"));
            }
            FreeDocument txt = example.DictSerialize(Scenario.Database);
            var          sb  = string.Join(",", txt.Select(d => $"{ ScriptHelper.RemoveSpecialCharacter(d.Key)} {DataTypeConverter.ToType(d.Value)}"));
            string       sql = $"CREATE TABLE {GetTableName(name)} ({sb})";

            ExecuteNonQuery(sql);
            RefreshTableNames();
            return(true);
        }
Example #7
0
        public override bool CreateTable(IFreeDocument example, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new Exception("数据库表名不能为空");
            }
            var txt = example.DictSerialize(Scenario.Database);
            var sb  = string.Join(",", txt.Select(d => $"{d.Key} {DataTypeConverter.ToType(d.Value)}"));
            var sql = $"CREATE TABLE {GetTableName(name)} ({sb})";

            ExecuteNonQuery(sql);
            RefreshTableNames();
            return(true);
        }
Example #8
0
        public virtual bool CreateTable(IFreeDocument example, string name)
        {
            FreeDocument txt = example.DictSerialize(Scenario.Database);
            var          sb  = new StringBuilder();

            foreach (var o in txt)
            {
                sb.Append(o.Key);
                sb.AppendFormat(" {0}, ", DataTypeConverter.ToType(o.Value));
            }
            sb.Remove(sb.Length - 1, 1);
            string sql = $"CREATE TABLE {GetTableName(name)} ({sb})";

            ExecuteNonQuery(sql);
            RefreshTableNames();
            return(true);
        }
Example #9
0
        public override bool CreateTable(IFreeDocument example, string name)
        {
            //
            var txt = example.DictSerialize(Scenario.Database);
            var sb  = new StringBuilder();

            foreach (var o in txt)
            {
                sb.Append(o.Key);
                sb.AppendFormat(" {0},", DataTypeConverter.ToType(o.Value));
            }
            sb.Remove(sb.Length - 1, 1);
            var sql = string.Format("CREATE TABLE {0} ({1}) default charset utf8 COLLATE utf8_general_ci", name, sb.ToString());

            ExecuteNonQuery(sql);
            this.RefreshTableNames();
            return(true);
        }
Example #10
0
        public override bool CreateTable(IFreeDocument example, string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new Exception(GlobalHelper.Get("key_29"));
            }
            var txt = example.DictSerialize();
            var sb  = string.Join(",", txt.Select(d => $"{d.Key} {DataTypeConverter.ToType(d.Value)}"));
            var sql = $"CREATE TABLE {GetTableName(name)} ({sb});";

            ExecuteNonQuery(sql);
            RefreshTableNames();
            if (TableNames.Collection.FirstOrDefault(d => d.Name == name) == null)
            {
                return(false);
            }
            return(true);
        }
Example #11
0
        protected virtual string Insert(IFreeDocument data, string dbTableName)
        {
            FreeDocument item = data.DictSerialize(Scenario.Database);
            var          sb   = new StringBuilder();

            foreach (var o in item)
            {
                string value;
                if (o.Value is DateTime)
                {
                    value = ((DateTime)o.Value).ToString("s");
                }
                else
                {
                    value = o.Value.ToString();
                }
                sb.Append($"'{value}',");
            }
            sb.Remove(sb.Length - 1, 1);
            string sql = string.Format("INSERT INTO {0} VALUES({1})", dbTableName, sb);

            return(sql);
        }
Example #12
0
        public void SetObjects(IFreeDocument item, object[] value, string[] titles = null)
        {
            int index  = 0;
            var values = new Dictionary <string, object>();

            if (item is IFreeDocument)
            {
                if (titles == null)
                {
                    foreach (object o in value)
                    {
                        values.Add(string.Format("Row{0}", index), value[index]);
                        index++;
                    }
                }
                else
                {
                    foreach (object o in value)
                    {
                        values.Add(titles[index], value[index]);
                        index++;
                    }
                }
            }
            else
            {
                foreach (string o in item.DictSerialize().Keys.OrderBy(d => d))
                {
                    values.Add(o, value[index]);
                    index++;
                }
            }

            item.DictDeserialize(values);
            ;
        }
Example #13
0
 protected JsonObject GetJsonObject(IFreeDocument data)
 {
     IEnumerable<KeyValuePair<string, object>> dicts =
                   data.DictSerialize();
     string[] keys = dicts.Select(d => d.Key).ToArray();
     object[] value = dicts.Select(d => Node2Item(d.Value)).ToArray();
     var rc = new JsonObject(keys, value);
     return rc;
 }