首页 新闻 会员 周边 捐助

C#访问Oracle数据库CLOB类型,如何新增,修改。多谢!

0
悬赏园豆:20 [已解决问题] 解决于 2018-12-05 14:55

.net 专家,你好,
我现在使用C#开发oracle 11G项目,涉及到大对象字段,可以保存,但修改的时候不行。
我的代码如下:
public int Edit(Doc_Model model)
{
string sql="UPDATE TB_PX_DOC SET ID=:ID,TITLE=:TITLE,DCONTEXT=:DCONTEXT WHERE ID=:ID";
OracleParameter[] parameters = {
OracleHelper.MakeInParam(":ID", OracleDbType.Int32, 22, model.Id),
OracleHelper.MakeInParam(":TITLE", OracleDbType.NVarchar2, 512, model.Title),

                OracleHelper.MakeInParam(":DCONTEXT", OracleDbType.Clob, -1, model.Dcontext),
             
        };

        return OracleHelper.ExecuteNonQuery(OracleHelper.ConnString, CommandType.Text, sql, parameters);
}

数据库访问使用 通用OracleHelper,
在网上找了很多代码,JAVA的比较多,没有太多.net类的大对象操作,关于CLOB类型的读写,可以如何担任,希望有专家帮助,最好有代码,多谢!

我的理想之路的主页 我的理想之路 | 初学一级 | 园豆:143
提问于:2018-10-20 13:23
< >
分享
最佳答案
0

参考 https://stackoverflow.com/a/16243704

using (var connection = new OracleConnection(<VALID CONN STRING GOES HERE>)) {
    connection.Open();
    using (var command = new OracleCommand()) {
         command.Connection = connection;
         command.CommandText = "UPDATE testing SET COMMENTS = :COMMENTS, DATEMODIFIED = sysdate WHERE ID = :ID";
         command.CommandType = CommandType.Text;
         command.Parameters.Add("COMMENTS", OracleDbType.Clob, ParameterDirection.Input).Value = comments.Text;
         command.Parameters.Add("ID", OracleDbType.Int32, ParameterDirection.Input).Value = 1;
         command.ExecuteNonQuery();
    }
}
收获园豆:20
dudu | 高人七级 |园豆:29570 | 2018-10-20 13:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册