mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 InsertDict 部分新功能遗留问题(特别是 Oracle);
This commit is contained in:
		@@ -36,7 +36,9 @@ namespace FreeSql.Odbc.Dameng
 | 
			
		||||
                    value = string.Concat(value);
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype ?? default, Value = value };
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName) };
 | 
			
		||||
            if (dbtype != null) ret.OdbcType = dbtype.Value;
 | 
			
		||||
            ret.Value = value;
 | 
			
		||||
            _params?.Add(ret);
 | 
			
		||||
            return ret;
 | 
			
		||||
        }
 | 
			
		||||
@@ -62,7 +64,9 @@ namespace FreeSql.Odbc.Dameng
 | 
			
		||||
                        value = string.Concat(value);
 | 
			
		||||
                        break;
 | 
			
		||||
                }
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype ?? default, Value = value };
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $":{name}" };
 | 
			
		||||
                if (dbtype != null) ret.OdbcType = dbtype.Value;
 | 
			
		||||
                ret.Value = value;
 | 
			
		||||
                return ret;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,9 +18,10 @@ namespace FreeSql.Odbc.Default
 | 
			
		||||
        {
 | 
			
		||||
            if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
 | 
			
		||||
            if (value?.Equals(DateTime.MinValue) == true) value = new DateTime(1970, 1, 1);
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), Value = value };
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName) };
 | 
			
		||||
            var tp = _orm.CodeFirst.GetDbInfo(type)?.type;
 | 
			
		||||
            if (tp != null) ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
            ret.Value = value;
 | 
			
		||||
            _params?.Add(ret);
 | 
			
		||||
            return ret;
 | 
			
		||||
        }
 | 
			
		||||
@@ -29,9 +30,10 @@ namespace FreeSql.Odbc.Default
 | 
			
		||||
            Utils.GetDbParamtersByObject<OdbcParameter>(sql, obj, null, (name, type, value) =>
 | 
			
		||||
            {
 | 
			
		||||
                if (value?.Equals(DateTime.MinValue) == true) value = new DateTime(1970, 1, 1);
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $"@{name}", Value = value };
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $"@{name}" };
 | 
			
		||||
                var tp = _orm.CodeFirst.GetDbInfo(type)?.type;
 | 
			
		||||
                if (tp != null) ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
                ret.Value = value;
 | 
			
		||||
                return ret;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -18,10 +18,10 @@ namespace FreeSql.Odbc.MySql
 | 
			
		||||
        public override DbParameter AppendParamter(List<DbParameter> _params, string parameterName, ColumnInfo col, Type type, object value)
 | 
			
		||||
        {
 | 
			
		||||
            if (string.IsNullOrEmpty(parameterName)) parameterName = $"p_{_params?.Count}";
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), Value = value };
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName) };
 | 
			
		||||
            var tp = _orm.CodeFirst.GetDbInfo(type)?.type;
 | 
			
		||||
            if (tp != null)
 | 
			
		||||
                ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
            if (tp != null) ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
            ret.Value = value;
 | 
			
		||||
            _params?.Add(ret);
 | 
			
		||||
            return ret;
 | 
			
		||||
        }
 | 
			
		||||
@@ -29,10 +29,10 @@ namespace FreeSql.Odbc.MySql
 | 
			
		||||
        public override DbParameter[] GetDbParamtersByObject(string sql, object obj) =>
 | 
			
		||||
            Utils.GetDbParamtersByObject<OdbcParameter>(sql, obj, null, (name, type, value) =>
 | 
			
		||||
            {
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $"?{name}", Value = value };
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $"?{name}" };
 | 
			
		||||
                var tp = _orm.CodeFirst.GetDbInfo(type)?.type;
 | 
			
		||||
                if (tp != null)
 | 
			
		||||
                    ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
                if (tp != null) ret.OdbcType = (OdbcType)tp.Value;
 | 
			
		||||
                ret.Value = value;
 | 
			
		||||
                return ret;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,9 @@ namespace FreeSql.Odbc.Oracle
 | 
			
		||||
                    value = string.Concat(value);
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName), OdbcType = dbtype ?? default, Value = value };
 | 
			
		||||
            var ret = new OdbcParameter { ParameterName = QuoteParamterName(parameterName) };
 | 
			
		||||
            if (dbtype != null) ret.OdbcType = dbtype.Value;
 | 
			
		||||
            ret.Value = value;
 | 
			
		||||
            _params?.Add(ret);
 | 
			
		||||
            return ret;
 | 
			
		||||
        }
 | 
			
		||||
@@ -62,7 +64,9 @@ namespace FreeSql.Odbc.Oracle
 | 
			
		||||
                        value = string.Concat(value);
 | 
			
		||||
                        break;
 | 
			
		||||
                }
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $":{name}", OdbcType = dbtype ?? default, Value = value };
 | 
			
		||||
                var ret = new OdbcParameter { ParameterName = $":{name}" };
 | 
			
		||||
                if (dbtype != null) ret.OdbcType = dbtype.Value;
 | 
			
		||||
                ret.Value = value;
 | 
			
		||||
                return ret;
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,9 +41,9 @@ namespace FreeSql.Odbc.SqlServer
 | 
			
		||||
                var sql = sb.ToString();
 | 
			
		||||
                var validx = sql.IndexOf(" WHERE ");
 | 
			
		||||
                if (validx == -1) throw new ArgumentException("找不到 WHERE ");
 | 
			
		||||
                sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                sql = sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                    .Append(sbret)
 | 
			
		||||
                    .Append(sql.Substring(validx));
 | 
			
		||||
                    .Append(sql.Substring(validx)).ToString();
 | 
			
		||||
 | 
			
		||||
                var before = new Aop.CurdBeforeEventArgs(_table.Type, _table, Aop.CurdType.Delete, sql, dbParms);
 | 
			
		||||
                _orm.Aop.CurdBeforeHandler?.Invoke(this, before);
 | 
			
		||||
@@ -98,9 +98,9 @@ namespace FreeSql.Odbc.SqlServer
 | 
			
		||||
                var sql = sb.ToString();
 | 
			
		||||
                var validx = sql.IndexOf(" WHERE ");
 | 
			
		||||
                if (validx == -1) throw new ArgumentException("找不到 WHERE ");
 | 
			
		||||
                sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                sql = sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                    .Append(sbret)
 | 
			
		||||
                    .Append(sql.Substring(validx));
 | 
			
		||||
                    .Append(sql.Substring(validx)).ToString();
 | 
			
		||||
 | 
			
		||||
                var before = new Aop.CurdBeforeEventArgs(_table.Type, _table, Aop.CurdType.Delete, sql, dbParms);
 | 
			
		||||
                _orm.Aop.CurdBeforeHandler?.Invoke(this, before);
 | 
			
		||||
 
 | 
			
		||||
@@ -45,11 +45,11 @@ namespace FreeSql.Odbc.SqlServer
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                var sql = sb.ToString();
 | 
			
		||||
                var validx = sql.IndexOf(" WHERE ");
 | 
			
		||||
                var validx = sql.IndexOf(" \r\nWHERE ");
 | 
			
		||||
                if (validx == -1) throw new ArgumentException("找不到 WHERE ");
 | 
			
		||||
                sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                sql = sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                    .Append(sbret)
 | 
			
		||||
                    .Append(sql.Substring(validx));
 | 
			
		||||
                    .Append(sql.Substring(validx)).ToString();
 | 
			
		||||
 | 
			
		||||
                var before = new Aop.CurdBeforeEventArgs(_table.Type, _table, Aop.CurdType.Update, sql, dbParms);
 | 
			
		||||
                _orm.Aop.CurdBeforeHandler?.Invoke(this, before);
 | 
			
		||||
@@ -138,11 +138,11 @@ namespace FreeSql.Odbc.SqlServer
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                var sql = sb.ToString();
 | 
			
		||||
                var validx = sql.IndexOf(" WHERE ");
 | 
			
		||||
                var validx = sql.IndexOf(" \r\nWHERE ");
 | 
			
		||||
                if (validx == -1) throw new ArgumentException("找不到 WHERE ");
 | 
			
		||||
                sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                sql = sb.Clear().Append(sql.Substring(0, validx))
 | 
			
		||||
                    .Append(sbret)
 | 
			
		||||
                    .Append(sql.Substring(validx));
 | 
			
		||||
                    .Append(sql.Substring(validx)).ToString();
 | 
			
		||||
 | 
			
		||||
                var before = new Aop.CurdBeforeEventArgs(_table.Type, _table, Aop.CurdType.Update, sql, dbParms);
 | 
			
		||||
                _orm.Aop.CurdBeforeHandler?.Invoke(this, before);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user