zoukankan      html  css  js  c++  java
  • 为处理 InvalidOperationException. String[1]: the Size property has an invalid size of 0.

    调用C#程序中存储过程时,抛出异常 String[1]: the Size property has an invalid size of 0.

    很郁闷,在Sql Manage studio中执行存储过程时,发现了一个问题: 

    代码
    DECLARE @return_value int,
    @MeterAddress nvarchar(50)

    EXEC @return_value = [dbo].[upGetMeterAddressBySupplierCode]
    @SupplierCode = N'0000000001',
    @MeterAddress = @MeterAddress OUTPUT

    SELECT @MeterAddress as N'@MeterAddress'

    它的返回值是有长度的,而在存储过程的定义中之使用了SqlDbType.NVarChar,并没有设置长度。所以导致报错;

    案例:

    出现该问题的存储过程有一个特征,就是存在 Varchar 或者 Nvarchar 类型的 out 参数

    调用时对该参数的定义类似于
    SqlParameter para = new SqlParameter("@paraname", SqlDbType.NVarChar);


    解决办法:

    该out参数必须有一个指定的长度,因此,应进行类似下面的初始化:
    SqlParameter para = new SqlParameter("@paraname", SqlDbType.NVarChar, size);

  • 相关阅读:
    laravel 查询
    好友数量
    laravel 更新
    laravel 多对多关联 attach detach sync
    laravel zh-CN
    laravel 框架后台主菜单接口
    Visual Studio 2012 Update 3
    IIS7 禁止目录运行脚本
    [驱动力]读书笔记
    [Python Essential Reference, Fourth Edition (2009)]读书笔记
  • 原文地址:https://www.cnblogs.com/lingfengchencn/p/1857325.html
Copyright © 2011-2022 走看看