• Dapper.net Insert mssql unicode 乱码问题


    1、效果:

    2、处理方法:

     /// <summary>
            /// insert single sql
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="sql"></param>
            /// <param name="param"></param>
            /// <param name="connectionString"></param>
            /// <returns></returns>
            public static int Insert<T>(string sql, dynamic param = null, string connectionString = null) where T : class, new()
            {
                using (IDbConnection conn = OpenConnection(connectionString))
                {
                    return conn.Execute(sql, (object)param,null,null,null);
                }
            }
      public static readonly string InsertSql = @"Insert into SpreadApiErrorMsgs(Id,ControllerName,ActionName,Message,SoluWay,CreateDate)
                                                        values(@Id,@ControllerName,@ActionName,@Message,@SoluWay,@CreateDate)";
            /// <summary>
            /// insert single sql
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="sql"></param>
            /// <param name="param"></param>
            /// <param name="connectionString"></param>
            /// <returns></returns>
            public static int Insert<T>(string sql, dynamic param = null, string connectionString = null) where T : class, new()
            {
                using (IDbConnection conn = OpenConnection(connectionString))
                {
                    return conn.Execute(sql, (object)param,null,null,null);
                }
            }

    PS:Dapper源码:

     /// <summary>
        /// This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar
        /// </summary>
        sealed partial class DbString : Reasonable.Spread.Dapper.SqlMapper.ICustomQueryParameter
        {
            /// <summary>
            /// Create a new DbString
            /// </summary>
            public DbString() { Length = -1; }
            /// <summary>
            /// Ansi vs Unicode 
            /// </summary>
            public bool IsAnsi { get; set; }
            /// <summary>
            /// Fixed length 
            /// </summary>
            public bool IsFixedLength { get; set; }
            /// <summary>
            /// Length of the string -1 for max
            /// </summary>
            public int Length { get; set; }
            /// <summary>
            /// The value of the string
            /// </summary>
            public string Value { get; set; }
            /// <summary>
            /// Add the parameter to the command... internal use only
            /// </summary>
            /// <param name="command"></param>
            /// <param name="name"></param>
            public void AddParameter(IDbCommand command, string name)
            {
                if (IsFixedLength && Length == -1)
                {
                    throw new InvalidOperationException("If specifying IsFixedLength,  a Length must also be specified");
                }
                var param = command.CreateParameter();
                param.ParameterName = name;
                param.Value = (object)Value ?? DBNull.Value;
                if (Length == -1 && Value != null && Value.Length <= 4000)
                {
                    param.Size = 4000;
                }
                else
                {
                    param.Size = Length;
                }
                param.DbType = IsAnsi ? (IsFixedLength ? DbType.AnsiStringFixedLength : DbType.AnsiString) : (IsFixedLength ? DbType.StringFixedLength : DbType.String);
                command.Parameters.Add(param);
            }
        }
  • 相关阅读:
    git commit --amend
    Interleaving String leetcode
    Longest Common Substring
    Distinct Subsequences Leetcode
    Longest Common Subsequence
    Palindrome Partitioning II Leetcode
    百度面试时遇到这样一个问题:给定数组a[];计算除最后一个元素之外其他元素的和,下面的代码有什么问题吗
    sizeof与strlen
    网络是怎么连接的(2)?
    网络是怎么连接的(1)?
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/6763716.html
Copyright © 2020-2023  润新知