.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类型的读写,可以如何担任,希望有专家帮助,最好有代码,多谢!
参考 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();
}
}