ALTER PROCEDURE [dbo].[testpc]
(
@t nvarchar(40),
@b varchar(10)
)
AS
BEGIN
select * from test where a like '%'+@t+'%'
END
执行语句 exec testpc N'中国',''
有结果.
可是问题来了!我前台是用(c# 2010下)ObjectDataSource
我怎么写了.我想了些办法,怎么搞还是乱码
4 个解决方案
#1
别说更改字符集这种话,人家系统已经运行很久里,系统是英文环境.
#2
更换数据库的字符集
#3
更换数据库的字符集就不考虑了,我是在人家erp系统上二次扩展.用的是syteline产品考虑到license问题,部分功能作成web的站点形式.刚好遇到这个问题.插入什么的好说.存储过程传中文进去乱码还不能更改字符集还真没遇到过
#4
想法有点别扭.不过解决了,其实就是动态设置objectdatasource
Parameter sorting = new Parameter("t", ObjectDataSource1.SelectParameters["t"].Type, this.TextBox1.Text.ToString());
Parameter code = new Parameter("b", ObjectDataSource1.SelectParameters["b"].Type, this.TextBox2.Text.ToString());
//清除原有的SelectParameter
ObjectDataSource1.SelectParameters.Clear();
//重新加入新的SelectParameter
ObjectDataSource1.SelectParameters.Add(code);
ObjectDataSource1.SelectParameters.Add(sorting);
还有就是别用ObjectDataSource的方式了,呵呵
Parameter sorting = new Parameter("t", ObjectDataSource1.SelectParameters["t"].Type, this.TextBox1.Text.ToString());
Parameter code = new Parameter("b", ObjectDataSource1.SelectParameters["b"].Type, this.TextBox2.Text.ToString());
//清除原有的SelectParameter
ObjectDataSource1.SelectParameters.Clear();
//重新加入新的SelectParameter
ObjectDataSource1.SelectParameters.Add(code);
ObjectDataSource1.SelectParameters.Add(sorting);
还有就是别用ObjectDataSource的方式了,呵呵
#1
别说更改字符集这种话,人家系统已经运行很久里,系统是英文环境.
#2
更换数据库的字符集
#3
更换数据库的字符集就不考虑了,我是在人家erp系统上二次扩展.用的是syteline产品考虑到license问题,部分功能作成web的站点形式.刚好遇到这个问题.插入什么的好说.存储过程传中文进去乱码还不能更改字符集还真没遇到过
#4
想法有点别扭.不过解决了,其实就是动态设置objectdatasource
Parameter sorting = new Parameter("t", ObjectDataSource1.SelectParameters["t"].Type, this.TextBox1.Text.ToString());
Parameter code = new Parameter("b", ObjectDataSource1.SelectParameters["b"].Type, this.TextBox2.Text.ToString());
//清除原有的SelectParameter
ObjectDataSource1.SelectParameters.Clear();
//重新加入新的SelectParameter
ObjectDataSource1.SelectParameters.Add(code);
ObjectDataSource1.SelectParameters.Add(sorting);
还有就是别用ObjectDataSource的方式了,呵呵
Parameter sorting = new Parameter("t", ObjectDataSource1.SelectParameters["t"].Type, this.TextBox1.Text.ToString());
Parameter code = new Parameter("b", ObjectDataSource1.SelectParameters["b"].Type, this.TextBox2.Text.ToString());
//清除原有的SelectParameter
ObjectDataSource1.SelectParameters.Clear();
//重新加入新的SelectParameter
ObjectDataSource1.SelectParameters.Add(code);
ObjectDataSource1.SelectParameters.Add(sorting);
还有就是别用ObjectDataSource的方式了,呵呵