通常我们应该将整数值传递给我们的存储过程,为此我们通常使用此方法command.Parameters.AddWithValue(@param1, paramValue);但是,我发现很奇怪,如果我们需要使用上面的方法将uint数据类型参数传递给存储过程,它会给...
![](https://oss.womengda.net/imgfile/2310/1ER2MV01550-29591.jpg)
通常我们应该将整数值传递给我们的存储过程,为此我们通常使用此方法
command.Parameters.AddWithValue("@param1", paramValue);
但是,我发现很奇怪,如果我们需要使用上面的方法将uint数据类型参数传递给存储过程,它会给出一个奇怪的异常.虽然它不是代码命中ExecuteNonQuery方法,但它之后.我不确定为什么会这样.如果有人有什么要分享请…
这是堆栈跟踪:
at System.Data.SqlClient.MetaType.GetMetaTypeFromValue(Type dataType, Object value, Boolean inferLen, Boolean streamAllowed)
at System.Data.SqlClient.SqlParameter.GetMetaTypeOnly()
at System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc)
at System.Data.SqlClient.SqlCommand.SetUpRPCParameters(_SqlRPC rpc, Int32 startCount, Boolean inSchema, SqlParameterCollection parameters)
at System.Data.SqlClient.SqlCommand.BuildRPC(Boolean inSchema, SqlParameterCollection parameters, _SqlRPC& rpc)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
解决方法:
根据reference提供的,在Sql中不支持UInt32.
Inferring a
SqlDbType
fromUInt32
is not supported.
所以传递参数为好;
command.Parameters.Add("@param1", SqlDbType.Int).Value = Convert.ToInt32(paramValue);
沃梦达教程
本文标题为:c# – UInt32的参数数据类型无效. (MS SQL Server)
![](/xwassets/images/pre.png)
![](/xwassets/images/next.png)
猜你喜欢
- c# – 使用WPF应用程序设置Windows 10“自动显示触摸键盘” 2023-09-20
- C# 文件上传下载(Excel导入,多线程下载)功能的实现代码 2022-11-10
- C#命令行参数解析库System.CommandLine使用 2023-04-21
- C# 元组和值元组的具体使用 2023-03-14
- C#中#define后面只加一个参数的解释 2023-01-22
- C# 扩展方法小结 2023-03-09
- C#如何利用反射将枚举绑定到下拉框详解 2022-12-26
- C#日期格式强制转换方法(推荐) 2022-11-23
- C#使用Consul集群进行服务注册与发现 2023-02-03
- centos7 部署netcore 2023-09-26