下面是一个简单的存储过程
create proc usp_proc_test
    @procChar nvarchar(256),
    @wParameter smallint
as
  print @procChar
go把一个字符串绑定给了第一个参数,然后执行,结果发现存储过程不能正确得到这个字符串。如果我把存储过程的参数换位置,成为下面的样子
create proc usp_proc_test
   @wParameter smallint,
  @procChar nvarchar(256)
as
  print @procChar
go
存储过程就能正确接收到传递进取的字符串我的环境为sql2k+vc,使用odbc api的sqlbindparameter来绑定数据
麻烦高手分析一下原因

解决方案 »

  1.   

    我也遇到过sqlserver不能正确提取字符参数的问题。
    传入的参数是 “‘xxxxx’”,没有去掉引号。gz
      

  2.   

    create proc usp_proc_test
        @procChar nvarchar(256),
        @wParameter smallint
    as
      print @procChar
    goexec usp_proc_test 'fadsdfsafd',1测试结果
      fadsdfsafd
    我测试的结果一点问题都没有,请主检查是不是其它问题
      

  3.   

    没有问题create proc usp_proc_test
        @procChar nvarchar(256),
        @wParameter smallint
    as
      print @procChar
    goexec usp_proc_test 'a',1
      

  4.   

    在查询分析器中确实没有问题,但是我用ODBC API把参数绑定进去的时候就出现这个问题了