c#调用存储过程保存4张图片
如果图片为空的话,不生成记录
我用empty_blob建一个blob空值,但存储过程不认为这是空值,产生了一条空记录
我又用createtemporaryblob()函数建一个blob空值,效果一样不知道还有没有其它方法构建一个空的blob类型参数???比较急,任何意见都欢迎,十分感谢!

解决方案 »

  1.   

    EMPTY_BLOB(),产生一个定位器(相当于空指针),但记录中对应列的值当然不是NULL了
    如果让该列的值为空,那就使用NULL直接赋值好了。
      

  2.   

    下面是我的实测,没有问题。-- 老师信息表
    CREATE TABLE Teacher
    (
        NAME        CHAR(10), --姓名
        RESUME      CLOB,     --简历
        Photo       BLOB,     --照片
        Recording   BFILE     --自我陈述(录音)
    )    
    LOB(RESUME, Photo) STORE AS 
    (
        TABLESPACE TeacherSpace
        STORAGE(INITIAL 6144 NEXT 6144)
        CHUNK 8K
        ENABLE STORAGE IN ROW
    );
    执行下面的语句没有问题,注意:Photo列的值指定为NULLINSERT INTO Teacher VALUES('测试', EMPTY_CLOB(), NULL, BFILENAME('DBFILE_DIR', 'b.mp3'));
      

  3.   

    to 4楼
    直接用sql语句可以,但我调用的是存储过程
    存储过程执行没有问题,只是我不知道如何给BLOB设为空,不产生记录
    传参数时设成NULL,0字节,empty_blob我都试过了,都是不行