新增和编辑clob字段
#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字段的更多相关文章
- layui 学习笔记一:layui table 查询、新增、编辑、删除
一.table数据的呈现(对应查询) 页面代码: @{ ViewBag.Title = "TableGrid"; } @section styles{ <link href= ...
- LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间
LOB字段存放在指定表空间 清理CLOB字段及压缩CLOB空间 把LOB字段的SEGMENT 存放在指定表空间.清理CLOB字段及压缩CLOB空间 1.创建LOB字段存放表空间:create ...
- java 将长度很长的字符串(巨大字符串超过4000字节)插入oracle的clob字段时会报错的解决方案
直接很长的字符串插入到clob字段中会报字符过长的异常,相信大家都会碰到这种情况 String sql = "insert into table(request_id,table_name, ...
- Oracle 插入超4000字节的CLOB字段的处理方法
最近在做系统开发的时候需要想Oracle数据库插入超过4000字节的CLOB字段,在网上查询了N久才发现下面的解决方案,故留存以备后查. 我们可以通过创建单独的OracleCommand来进行指定的插 ...
- java 存储oracle的clob字段
项目中有很长的字符创需要存储,用到了oracle的clob字段,直接很长的字符串插入到clob字段中会报字符过长的异常,于是便寻求解决方案.看到这个博客写的还不错 首先,创建一个含CLOB字段的表: ...
- 解决比较Oracle中CLOB字段问题
解决比较Oracle中CLOB字段问题 Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦.CLOB中存放的是指针,并不能直接取到实际值. ...
- oracle中clob字段的使用
oracle中定义了一个字段是clob的,由于用的是ssh的框架,结果在面向对象存取的时候出现clob类型字段和String类型字段的转换问题.开始查阅了clob字段和String字段的相互转换的方法 ...
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...
- DB2读取CLOB字段-was报错:操作无效:已关闭 Lob。 ERRORCODE=-4470, SQLSTATE=null
DB2读取CLOB字段-was报错:操作无效:已关闭 Lob. ERRORCODE=-4470, SQLSTATE=null 解决方法,在WAS中要用的数据源里面配置连个定制属性: progressi ...
随机推荐
- idea 本地tomcat启动控制台乱码问题
问题:本地tomcat启动,控制台出现中文乱码: 解决办法: 安装了idea发现启动tomcat的时候控制台会有乱码问题,在tomcat配置中添加在VM options填写-Dfile.encodin ...
- C++标准模板库(STL)之String
1.String的常用用法 在C语言中,使用字符数组char str[]来存字符串,字符数组操作比较麻烦,而且容易有'\0'的问题,C++在STL中加入string类型,对字符串常用的需求功能进行封装 ...
- iOS启动速度优化
背景 7月26号我们阿里数据iOS端发布了4.4.0版本,这次版本主要是优化了性能,其中main()阶段的启动耗时优化成果比较明显,从之前的0.5-0.7秒,降低为目前的0.1-0.2秒(main() ...
- 在电脑端同时安装Python2,Python3
参考文档:http://www.cnblogs.com/zhengyihan1216/p/6011640.html 重点: 1.安装路径最好在一起,方便管理 2.安装路径下不建议有空格 3.Pytho ...
- React 实战系列:模块化
本系列以实战为主,通过一个 TODO 应用来学习深入 React. 学习无捷径,唯一的办法就是 coding!coding!coding! 如有不足之处,欢迎大家批评指正,共同进步! 言毕,开始撸
- 并查集(POJ1182)
链接:http://poj.org/problem?id=1182 定义一种关系R(x,y),x > y 时 R(x,y) = 2:x = y 时 R(x,y)= 1:x < y 时 R( ...
- 北航OO第一单元总结
我本着公平公开公正的态度作出以下评价: 1.面向对象真的很修身养性 2.有一个好的身体非常重要 3.互相hack可以暴露人的阴暗面 好了,步入正题. 一.作业分析 1.第一次作业分析 1.1类图 1. ...
- python中filter、map、reduce的区别
python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内 ...
- DDD 学习记录
1.领域模型建立 set 最好是受保护 2.CQRS 建议 查询可以直接从数据层获取: 3.领域服务 包含 不合适放在其他实体里面的方法,包含比较多实体操作的方法: 4.实体 里面的方法 ...
- BUAAOO第二单元总结之电梯问题
---恢复内容开始--- Homework1 傻瓜电梯 程序架构 第一次题目非常简单,思考也非常简单,一部电梯傻瓜调度.将命令入公共的队列,电梯从公共队列中取命令即可,其中只需要使用ArrayBloc ...