#region 新的数据新增和修改方法
/// <summary>
/// 添加信息
/// </summary>
/// <returns></returns>
public static bool AddInfo(string name, string pid, string content)
{
OracleConnection conn = new OracleConnection(connectionstring);
OracleCommand cmd = conn.CreateCommand();
OracleTransaction objTran = null;
try
{
conn.Open();
objTran = conn.BeginTransaction();
cmd.Transaction = objTran;
//创建临时clob变量
cmd.CommandText = "DECLARE dpClob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(dpClob, False, 0); :tmpClob := dpClob; END;";
OracleParameter op1 = new OracleParameter("tmpClob", OracleType.Clob);
op1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(op1);
cmd.ExecuteNonQuery();
OracleLob tempLob;
tempLob = (OracleLob)cmd.Parameters[0].Value;
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
byte[] buffer = Encoding.Unicode.GetBytes(content);
tempLob.Write(buffer, 0, buffer.Length);//将值写入临时变量中
tempLob.EndBatch();
cmd.Parameters.Clear();
cmd.CommandText = "insert into t_yingjiinfo (id,nodename,pid,content) values ( seq_t_yingjiinfo.nextval,'" + name + "', " + pid + ",:contentText)";
cmd.CommandType = CommandType.Text;
OracleParameter op2 = new OracleParameter("contentText", OracleType.Clob);
op2.Value = tempLob;
cmd.Parameters.Add(op2);
cmd.ExecuteNonQuery();
objTran.Commit();
cmd.Parameters.Clear();
return true;

}
catch
{
objTran.Rollback();
return false;
}

finally
{
objTran.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();

}

}

/// <summary>
/// 更新数据 更新一般修理二维码字段 暂时只有陕西省
/// </summary>
/// <returns></returns>
public static bool UpdateInfo(string bianhao, string content)
{
OracleConnection conn = new OracleConnection(connectionstring);
OracleCommand cmd = conn.CreateCommand();
OracleTransaction objTran = null;
try
{
conn.Open();
objTran = conn.BeginTransaction();
cmd.Transaction = objTran;
cmd.CommandText = "DECLARE dpClob CLOB; BEGIN DBMS_LOB.CREATETEMPORARY(dpClob, False, 0); :tmpClob := dpClob; END;";
OracleParameter op1 = new OracleParameter("tmpClob", OracleType.Clob);
op1.Direction = ParameterDirection.Output;
cmd.Parameters.Add(op1);
cmd.ExecuteNonQuery();
OracleLob tempLob;
tempLob = (OracleLob)cmd.Parameters[0].Value;
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
byte[] buffer = Encoding.Unicode.GetBytes(content);
tempLob.Write(buffer, 0, buffer.Length);
tempLob.EndBatch();
cmd.Parameters.Clear();
cmd.CommandText = "update wh_qrcode set qrcode = :contentText where bianhao = '" + bianhao + "'";
cmd.CommandType = CommandType.Text;
OracleParameter op2 = new OracleParameter("contentText", OracleType.Clob);
op2.Value = tempLob;
cmd.Parameters.Add(op2);
cmd.ExecuteNonQuery();
objTran.Commit();
cmd.Parameters.Clear();
return true;
}

catch
{
objTran.Rollback();
return false;
}

finally
{
objTran.Dispose();
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
#endregion

新增和编辑clob字段的更多相关文章

  1. layui 学习笔记一:layui table 查询、新增、编辑、删除

    一.table数据的呈现(对应查询) 页面代码: @{ ViewBag.Title = "TableGrid"; } @section styles{ <link href= ...

  2. LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间

     LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间    把LOB字段的SEGMENT 存放在指定表空间.清理CLOB字段及压缩CLOB空间 1.创建LOB字段存放表空间:create ...

  3. java 将长度很长的字符串(巨大字符串超过4000字节)插入oracle的clob字段时会报错的解决方案

    直接很长的字符串插入到clob字段中会报字符过长的异常,相信大家都会碰到这种情况 String sql = "insert into table(request_id,table_name, ...

  4. Oracle 插入超4000字节的CLOB字段的处理方法

    最近在做系统开发的时候需要想Oracle数据库插入超过4000字节的CLOB字段,在网上查询了N久才发现下面的解决方案,故留存以备后查. 我们可以通过创建单独的OracleCommand来进行指定的插 ...

  5. java 存储oracle的clob字段

    项目中有很长的字符创需要存储,用到了oracle的clob字段,直接很长的字符串插入到clob字段中会报字符过长的异常,于是便寻求解决方案.看到这个博客写的还不错 首先,创建一个含CLOB字段的表: ...

  6. 解决比较Oracle中CLOB字段问题

    解决比较Oracle中CLOB字段问题   Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦.CLOB中存放的是指针,并不能直接取到实际值. ...

  7. oracle中clob字段的使用

    oracle中定义了一个字段是clob的,由于用的是ssh的框架,结果在面向对象存取的时候出现clob类型字段和String类型字段的转换问题.开始查阅了clob字段和String字段的相互转换的方法 ...

  8. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容

    在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...

  9. DB2读取CLOB字段-was报错:操作无效:已关闭 Lob。 ERRORCODE=-4470, SQLSTATE=null

    DB2读取CLOB字段-was报错:操作无效:已关闭 Lob. ERRORCODE=-4470, SQLSTATE=null 解决方法,在WAS中要用的数据源里面配置连个定制属性: progressi ...

随机推荐

  1. win7系统内网共享打印机设置

    工作中通常使用内网,你同事的计算机连接了一台打印机,老板没给你单独配打印机,莫慌,你可以通过内网连接同事的打印机. 1.在你同事的电脑上启用来宾账户并按照链接设置:https://jingyan.ba ...

  2. jquery实现下拉加载更多

    下拉加载更多这种原理很容易想明白,但是不自己写一个简单的,老是不踏实,获取什么高度再哪里获取之类的.于是自己简单写了个,就是页面上有几个div,然后当滚动条拉到某个位置的时候,再继续加载div.顺便又 ...

  3. Public_1.bat

    :: targetset targetFileName=Public_2set targetPath=./:: sourceset sourceFileName=Public_1@echo ui ru ...

  4. 解决Mac应用程序软件不出现在Launchpad里面的方法

    新装了几个软件,可是打开Lauchpad之后却在里面找不到,真是烦人!然后尝试了以下方法: 1.重启电脑,没用: 2.尝试打开“应用程序(英文名称:Applications)”并找到安装的软件,然后直 ...

  5. Qt 适合做界面

    确实感觉的Qt的界面开发相比MFC方便了许多,不用为设计和实现窗口烦恼.不需要太细研究界面的实现,从Qt自带的例子中就能轻松学习和应用.在界面开发上Qt的实用比MFC前进了许多.做C++开发不管怎样如 ...

  6. import com.sun.org.apache.xerces.internal.impl.dv.util.Base64报错

       该类不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用.但是在eclipse中直接使用却找不到该类. 以下是解决方法步骤: Properties-->JavaBulid Path ...

  7. 分享身为linux爱好者的成长及学习经历

    成长是无尽的阶梯,一步一步的攀登,回望来时的路,会心一笑:转过头,面对前方,无言而努力的继续攀登.现在来和linux爱好者说说我的成长经历,在我的大学时光里我从一个一无所知的少年转变成了一个见多识广的 ...

  8. JS 打印实现部分打印

    function Print() { $.ligerDialog.confirm('确定要打印吗?', true, function (yes, value) { if (yes) { var old ...

  9. mvc route .html 后缀 404

    <system.webServer>    <validation validateIntegratedModeConfiguration="false" /&g ...

  10. 小白的首个maven web项目Step1软件安装二(Tomcat及相关配置)

    安装tomcat9.0,依照此教程非常详细:https://blog.csdn.net/cyz1151148946/article/details/76691976/ 教程最后测试tomcat的时候有 ...