string sql = "insert into table1(" +
                             "NAME," +
                             "CARDFACEDATA," +
                             "SEX," +
                             "IDCARD," +
                             "BIRTHDAY," +
                             "STATUS," +
                             "TYPEID," +
                             "ADDRESS," +
                             "MEMO," +
                             "OPTIME" +
                             ") values(" +
                             "'" + name + "'" +
                             ",:CARDFACEDATA" +
                             ",'" + sex + "'" +
                             ", '" + Idcard + "'" +
                             ", to_date('" + birthday + "','yyyy-mm-dd hh24:mi:ss')" +
                             ", 0" +
                             "," + typeId + "" +
                             ", '" + address + "'" +
                             ", '" + memo + "'" +
                             ", to_date('" + optime + "','yyyy-mm-dd hh24:mi:ss')" + ")";
            OracleCommand cmd = new OracleCommand(sql, DataOperater.dbo.dbConnection);
            OracleParameter Cardpic = new OracleParameter(":CARDFACEDATA", OracleType.Clob);
            Cardpic.Direction = ParameterDirection.Input;
            Cardpic.Value = firdata;
            cmd.Parameters.Add(Cardpic);
            cmd.ExecuteNonQuery();
其中CARDFACEDATA 是图片(clob字段),现在想将改成update set,字段还是以上的,小弟刚学oracle,望大侠帮改下,多谢~~~

解决方案 »

  1.   

    改下SQL?
    update table1 set CARDFACEDATA=:CARDFACEDATA where ..
      

  2.   

    简单的给你写了三个字段,其它的你对照写一下
    string sql = "update table1 set NAME='" + name + "',CARDFACEDATA=:CARDFACEDATA,SEX='" +sex+"'";
      

  3.   

    不用问,一看就知道是执行失败了的。这里:
    OracleParameter Cardpic = new OracleParameter(":CARDFACEDATA", OracleType.Clob); 
    把变量名前面的冒号去掉,MSDN上说的很清楚。
      

  4.   

    update tb1 set a=:a,b=:b,c=:c,........where id=:id
    这样就OK了!