感谢您的回答,我目前用的是第一种方法,但这种情况就抛弃参数了,我觉的您说得这种方法很好,不知道具体实现是怎么样的呢? 就是在存储过程中拼接字符串,然后使用exec执行这条语句 declare @sql varchar(100) set @sql = 'select count(*) from [UserInfo] where [UserName] like N'''+@username+'''' exec(@sql)
在用模糊查询的时候可以这样。 cmd.Parameters.Add("@username", "%" + SqlDbType.NVarChar + "%");根据经验的话,Sql语句这么写应该行的吧! 1、string sql = "select count(*) from [UserInfo] where [UserName] like N@username";
不要使用参数。
string sql = string.Format("select count(*) from [UserInfo] where [UserName] like N'{0}'",this.txtUserName.Text)
在数据库中拼接字符串,然后使用exec(@sql)执行
问题的重点应该是数据库字段的类型是否以N开头
如果存储了中文但又不是NVarChar类型,在使用中可能会出问题(当没有中文语言时字符会显示成?)
改字段类型吧
就是在存储过程中拼接字符串,然后使用exec执行这条语句
declare @sql varchar(100)
set @sql = 'select count(*) from [UserInfo] where [UserName] like N'''+@username+''''
exec(@sql)
cmd.Parameters.Add("@username", "%" + SqlDbType.NVarChar + "%");根据经验的话,Sql语句这么写应该行的吧!
1、string sql = "select count(*) from [UserInfo] where [UserName] like N@username";