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); }
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}"); } }
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}"); } }
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 { } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); ; }
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; }