我正在尝试使用C#和sql Server 2008的用户定义数据类型,但是当执行command.ExecuteReader()时我引发了异常.
string qyery = "SELECT * FROM Product WHERE IsAvailableProduct < @Param"; sqlCommand command = new sqlCommand(qyery,conn); sqlParameter param = new sqlParameter("@Param",sqlDbType.Structured); param.UdtTypeName = "MyBolean"; param.sqlDbType = sqlDbType.Structured; param.Value = 1; command.Parameters.Add(param); sqlDataReader reader = command.ExecuteReader();
引发的例外是:
Failed to convert parameter value from a Int32 to a IEnumerable``1.
我的代码有什么问题?
编辑:
如果我将sqlDbType更改为Udt,则会出现以下异常:指定的类型未在目标服务器上注册.system.int32,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089.
如果我将DbType属性设置为Int(它是“MyBolean”的基本类型),则结果是异常无法将参数值从Int32转换为IEnumerable1 .`.
编辑:
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。