执行存储过程时编码的问题请教!
存储过程如下CREATE procedure tb_sptest
(
@Remark nvarchar(4000) = null
)
as
declare @strsql nvarchar(4000)
select @strsql='update tb_table set Remark=N'''+@Remark+'''
exec(@strsql)
GO
代码里
SqlParameter参数如下
sqlParas[3] = new System.Data.SqlClient.SqlParameter("@Remark",System.Data.SqlDbType.NVarChar,1000);
当这个参数值是'本来語の音韻・'时,本想着可以存正确,但还是不行。
该怎么做呢,高手指点一下吧,谢谢! --------------------编程问答-------------------- null 值不能拼串
因为
null+任何值=null
null-任何值=null
任何值+null=null
任何值-null=null --------------------编程问答-------------------- 1、可以在拚串以前判断一下,处理一下
2、默认值不用null --------------------编程问答-------------------- 这里说的不是为null的问题呀,是编码的问题,这个只是我随便举的例子 --------------------编程问答-------------------- 奇怪:为什么不这样写update tb_table set Remark=@Remark
--------------------编程问答-------------------- 5555555编码问题呀 --------------------编程问答-------------------- 那就不是数据库的问题 。看看项目的编码是否一致。
补充:.NET技术 , C#