SqlCommand.Parameters.Add("@a",'a');--报错 cha类型问题;
我查了msdn,说这Add (String, Object)这个重载容易引起歧异, 但,他的举例为int 为 0时, 但我
测试了一下, 竟然没问题。 
是不是因为 Add (String, Object)和Add (String, SqlDbType)因为SqlDbType为枚举型别和cha为有序类型因此产生歧异, 那维和int型可以通过测试那;
SqlCommand.Parameters.Add("@a",0) ----竟然没问题;

解决方案 »

  1.   

    楼主为什么不考虑这样呢?
    SqlParameter[] parm = new SqlParameter[]
    {
    new SqlParameter( "@orderprogramid", SqlDbType.Int ),
    new SqlParameter( "@userid", SqlDbType.NVarChar),
    new SqlParameter( "@receivercheck", SqlDbType.Bit )
                               }
             parm[0].Value = "";
    parm[1].Value = "";
                               parm[2].Value = "";
      

  2.   

    试一下把 'a' 装箱之后object a = (object)'a';
    SqlCommand.Parameters.Add("@a",a);
      

  3.   

    谢谢 2 楼, 我已经改为这样了, 但现在又又有一个问题, 希望有个好的解决方法
    请看这个,谢谢, 就是对type进行转换, 省去SqlDbType.NVarChar
    http://community.csdn.net/Expert/topic/3856/3856355.xml?temp=1.858157E-02
      

  4.   

    usernameCommand.Parameters.Add("@common", SqlDbType.Char, 20).Value = "common"
      

  5.   


       SqlCommand.Parameters.Add("@a", VarChar, 2, a
      

  6.   

    少了")"应该是SqlCommand.Parameters.Add("@a", VarChar, 2, a)