执行存储过程时编码的问题请教!

问题描述

存储过程如下CREATEproceduretb_sptest(@Remarknvarchar(4000)=null)asdeclare@strsqlnvarchar(4000)select@strsql='updatetb_tablesetRemark=N'''+@Remark+'''exec(@strsql)GO代码里SqlParameter参数如下sqlParas[3]=newSystem.Data.SqlClient.SqlParameter("@Remark",System.Data.SqlDbType.NVarChar,1000);当这个参数值是'本来語の音韻・'时,本想着可以存正确,但还是不行。该怎么做呢,高手指点一下吧,谢谢!

解决方案

解决方案二:
null值不能拼串因为null+任何值=nullnull-任何值=null任何值+null=null任何值-null=null
解决方案三:
1、可以在拚串以前判断一下,处理一下2、默认值不用null
解决方案四:
这里说的不是为null的问题呀,是编码的问题,这个只是我随便举的例子
解决方案五:
奇怪:为什么不这样写updatetb_tablesetRemark=@Remark
解决方案六:
5555555编码问题呀
解决方案七:
那就不是数据库的问题。看看项目的编码是否一致。

时间: 2024-11-03 22:26:33

执行存储过程时编码的问题请教!的相关文章

mysql 自动停止-mysql执行存储过程时自动停止

问题描述 mysql执行存储过程时自动停止 DELIMITER $$ DROP PROCEDURE IF EXISTS generatorDataCopy $$ CREATE PROCEDURE generatorDataCopy(inpid VARCHAR(50),OUT msg VARCHAR(50)) BEGIN DECLARE err INT DEFAULT 0; -- 如果出现sql异常,则将err设置为1后继续执行后面的操作 DECLARE CONTINUE HANDLER FOR

执行存储过程时ORA-01031错误的解决方法

以下存储过程编译正常,其中的SQL语句在PLSQL执行也正常,但是在存储过程中执行即报告错误:ORA-01031: insufficient privileges. create or replace procedure DBA_REBUILD_INDEX As Begin execute   immediate  'alter index PK_DUBAI_STORAGE_OUT_MANIFEST  rebuild online'; execute   immediate  'alter in

求解:使用EF执行存储过程时出现SqlParameterCollection 中已包含 SqlParameter。错误

问题描述 错误信息"System.ArgumentException"类型的未经处理的异常在EntityFramework.SqlServer.dll中发生其他信息:另一个SqlParameterCollection中已包含SqlParameter.出错代码:using(DbContextBasedb=newDbContextBase()){SqlParameter[]parms={newSqlParameter{ParameterName="tblName",Va

SQL Server联机丛书:执行存储过程

server|存储过程|执行 EXECUTE执行标量值的用户定义函数.系统过程.用户定义存储过程或扩展存储过程.同时支持 Transact-SQL 批处理内的字符串的执行 若要唤醒调用函数,请使用 EXECUTE stored_procedure 中描述的语法.语法执行存储过程:[ [ EXEC [ UTE ] ]     {          [ @return_status = ]             { procedure_name [ ;number ] | @procedure_n

启动SQL SERVER时自动执行存储过程

如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ---------------------------------------------------------------

动SQL SERVER时自动执行存储过程

server|存储过程|执行 如何在启动SQL SERVER的时候,执行一个存储过程? 将存储过程创建在master数据库中,然后企业管理器中找到这个存储过程--右键--属性--勾选"每当sql server启动时执行". --或者在master中创建存储过程后,执行语句设置为自动启动 use master exec sp_procoption '存储过程名','startup','on' ------------------------------------------------

java调用存储过程-Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点

问题描述 Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1,求大师指点 如题所述,使用Java代码执行删除.创建临时表的存储过程时总是执行不成功(不报错, 但是获取的影响行数为-1),别的存储过程都可以执行成功,求大师指点啊, 存储过程和Java代码如下: 1.存储过程代码 ALTER PROCEDURE [dbo].[PROC_TEMP] AS BEGIN if object_id('tempdb..##temp') is not null Begin DROP TABLE #

c#-C#仿QQ聊天的代码。在打开聊天窗口并输入聊天内容执行发送时,程序报错

问题描述 C#仿QQ聊天的代码.在打开聊天窗口并输入聊天内容执行发送时,程序报错 这是一段仿QQ聊天的代码.在打开聊天窗口并输入聊天内容执行发送时,程序报错: 参数化查询 '(@FromUserId int,@ToUserId int,@Message nvarchar(1),@MessageType' 需要参数 '@MessageState',但未提供该参数. 错误详细信息为: 未处理 System.Data.SqlClient.SqlException Message="参数化查询 '(@F

解析使用存储过程时一个错误的解决方法

这段时间用了一下C++ Builder ,在调用存储过程时遇到了一些问题,问了很多人都没有找到答案,最后还是靠自己解决了问题,现在拿出来和大家分享. 示例代码: StoredProc1->Params->Clear();StoredProc1->Params->CreateParam( ftSmallint, "@m1", ptInput);StoredProc1->Params->CreateParam( ftString, "@m2&q