oracle的clob类型存储fckeditor content内容的问题
今天,我采用jsp+fckeditor来做一个文本编辑器,用request.getparameter("content")从界面上获取内容,而后勇system.out.println()显示获取的内容,显示正常,可是,当我把这个String保存入oracle的clob类型的时候,发现保存的内容是oracle.sql.CLOB@191e4c,请问,这个是乱码么?如果不是乱码,那么应该怎么读取成为能够用out.println();显示的内容呢?是不是需要进行什么编码转换呢?该怎么转换呢?
如果有哪位高人能够指点一下,感激不尽!
附上我的程序
String content=request.getParameter("content");
System.out.println(content);
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:jypt", "renzhong", "renzhong");
//处理事务
con.setAutoCommit(false);
Statement st = con.createStatement();
//插入一个空对象
String 就业信息编号=GetDate.getNowDate().substring(0,22);
ResultSet rs = st.executeQuery("insert into Table_就业信息 values('"+就业信息编号+"','','','','',"+"empty_clob())");
用for update方式锁定数据行
rs = st.executeQuery(
"select 内容 from Table_就业信息 where 就业信息编号='"+就业信息编号+"' for update");
if (rs.next()) {
oracle.sql.CLOB clob = (oracle.sql.CLOB) rs.getClob("内容");
clob.putString(1, content);
st.executeUpdate(" update Table_就业信息 set 内容='"+clob+"' where 就业信息编号="+"'"+就业信息编号+"'");
}
con.commit();
st.close();
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*****************************************************************************
* 开始查询,从数据库中读出原来保存的内容,看看是否能够正常显示,以验证数据库中存储数据是否正确
*****************************************************************************/
String sql="select dbms_lob.substr(内容) from Table_就业信息 where 就业信息编号='2010-04-23 13:19:56 下午'";
StringBuffer sbResult=new StringBuffer();
Connection Conn=null;
Statement stmt=null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:jypt", "renzhong", "renzhong");
ResultSet rs = null;
stmt = Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
while (rs.next()){
CLOB clob=(CLOB)rs.getClob(1);
Reader isClob=clob.getCharacterStream();//创建输入流
BufferedReader bfClob=new BufferedReader(isClob);//创建从字符输入流读取文本
String strClob=bfClob.readLine();//读取一行文本
while(strClob!=null){
sbResult.append(strClob);//添加到字符串
strClob =bfClob.readLine();//继续读取下一行
}
}}catch (Exception errr){
System.out.print(errr);
}finally{
try {
stmt.close();
Conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.print(sbResult.toString());
相关推荐
jsp结合html编辑器FCKeditor对Oracle CLOB大字段操作范例
jsp结合html编辑器FCKeditor对Oracle CLOB大字段操作范例。
Microsoft.WinDbg-1.2610.1001.0-x64
Microsoft.WinDbg-1.2610.1001.0-x64
Claude 代码超强能力:核心技能库
Superpowers 是一套面向你的编码智能体的完整软件开发方法论,由一组可组合技能和若干初始指令构建而成,用以确保智能体真正使用这些技能。
PDF发票内容提取排版并结构化导出xlsx/cvs嵌入式ptyhon
【本地发票提取工具】 核心优势:不依赖传统粗糙 OCR,基于文字排版结构进行精准提取。仅“税网”下载及税网邮件发送的原版 PDF 发票(开票软件发送的不太支持)能实现开票明细级的秒级本地提取,告别只能提抬头、总额的尴尬。 可免费试用 3 天! 【用前须知】 去微软官网下载VC_redist.x64.exe运行修复运行库(必要的前置操作),之后再解压本工具rar,运行本exe即可。 VC_redist.x64.exe官网永久下载地址 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist 【安全须知】 个人开发暂未做代码签名,杀软可能会有误报拦截。遇到拦截请在杀软中添加信任/白名单即可。 VirusTotal扫描结果 2/61,主流杀软均通过,个别引擎因无签名误报。官网 virustotal.com 点击页面中间显眼的 “Choose file”(选择文件)按钮上传扫描。
Flask校园二手交易平台课设
这是一份基于 Flask + SQLite 的校园二手交易平台课程设计完整资料,包含实验报告(Markdown、HTML、PDF 三种格式)、全部 Python 源码、8 个 Jinja2 页面模板、5 张运行截图、答辩 PPT。学生注册账号后发布闲置物品,同校同学按分类翻、按关键词搜,看中了在详情页留言咨询,管理员能下架违规商品。不接支付不做物流,买卖双方线下交易,平台只负责信息展示和沟通,一个学期课设能做完。 系统功能:用户注册登录登出,session 维持登录态;发布商品填标题、描述、价格、选六类分类,图片可选上传不强制;首页卡片网格展示在售商品,顶部搜索框按标题描述模糊匹配,下方分类按钮筛选,搜索和筛选可组合;商品详情页展示大图、完整描述、卖家昵称,登录用户能留言咨询;我的发布页能看自己挂过的所有商品并删除;管理员后台能看全部商品,一键下架违规品或恢复在售。 几个值得参考的实现点:密码用 Werkzeug 哈希加盐存储;登录接口不区分"用户不存在"和"密码错误",防枚举用户名;图片上传限制后缀和 2MB,文件名随机串重命名,防覆盖和传脚本;分类和搜索筛选组合用动态拼 SQL;首次启动自动建表写管理员账号;Bootstrap 5 栅格,手机浏览器也能看。 适合正在做 Web 课程设计、Python 后端入门的学生,以及想学习"Flask 蓝图 + SQLite + 登录鉴权 + 文件上传"完整小项目的自学者。拿到手后 cd src,pip install -r requirements.txt,python app.py,浏览器开 http://127.0.0.1:5000 即可,管理员账号 admin/admin123,普通用户自行注册。


Web 开发
