非淡泊无以明志,非宁静无以致远。这篇文章主要讲述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); } }
【Dapper.net Insert mssql unicode 乱码问题】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 = https://www.songbingjia.com/android/(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); } }
推荐阅读
- Android PagerSlidingTitleIconTabStrip 能够在title旁边加小图标的PagerSlidingTabStrip
- android 获取蓝牙已连接设备
- web.xml中webAppRootKey
- word 2010 文档加密办法_Word专区
- Word 2010 不保存最近浏览文档 保护隐私_Word专区
- Word 2010 设置双面打印办法_Word专区
- word 2010 页边距设置办法_Word专区
- word 2010 打印浏览技巧_Word专区
- word 2010 撤销与恢复办法_Word专区