System.Data.DbType哪个类型和SQLServer中的image是一样?
下面的第2个参数类型要求是“System.Data.DbType”型,但是数据库里pic是Image型。该如何改
dbBase.MakeInParam("@pic",SqlDbType.Image,16,pic),
是改成
dbBase.MakeInParam("@pic",System.Data.DbType.Byte,16,pic)
吗?

解决方案 »

  1.   

    dbBase.MakeInParam("@pic",typeof(byte[]),16,pic)
    吗?
      

  2.   

    用SqlDbType.Image即可,不过设定的时候,不要指定长度,分两步来完成
    例如:
    SqlParameter sqlPara = yourComm.Parameters.Add( "@pic",SqlDbType.Image );
    sqlPara.Value = pic;
      

  3.   

    SqlDbType.Image是可以,但是,dbBase.MakeInParam("@pic",DbType,16,pic),这个函数是第三方的提供的接口,第二个参数类型就是System.Data.DbType型的,我不能改成SqlDbType类型的
      

  4.   

    不知道用System.Data.DbType,Image类型该怎么处理
      

  5.   

    DbType.Binary或DbType.Object长度怎写
    是改成
    dbBase.MakeInParam("@pic",DbType.Binary,16,pic)吗?
      

  6.   

    改成
    dbBase.MakeInParam("@pic",DbType.Binary,16,pic)后
    报错“System.InvalidCastException: 对象必须实现 IConvertible”
    这样看来还是类型不对啊
      

  7.   

    对应的是byte[]
    如 dr(DataRow类型)
    byte[] doc=(byte[])dr["Doc"];
      

  8.   

    我知道,但是dbBase.MakeInParam("@pic",DbType.Binary,16,pic)第二个参数必须是DbType类型的
    莫非我要改成
    dbBase.MakeInParam("@pic",DbType.Byte,16,pic)