時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(9)
我是JSP新手,簡(jiǎn)單的JSP寫(xiě)也差不多了。但是現(xiàn)在碰到一個(gè)頭痛的問(wèn)題,就是在提交大于2000字的文章時(shí),ORACLE數(shù)據(jù)庫(kù)就出錯(cuò)了。"文章內(nèi)容" 我用的是LONG的類(lèi)型。
提交小于2000字的使用正常的代碼:
<%@ include file="inc/conn.jsp"%>
<%if ((String) session.getAttribute("adminlogin")=="yes"){%>
<%
request.setCharacterEncoding("GB2312");
//文章名稱
String art_name = request.getParameter("art_name");
//文章欄目ID
String art_class_id = request.getParameter("art_class_id");
//是否固頂
String art_top = request.getParameter("art_top");
if(art_top==null||art_top==""){
art_top = "0";
}
//文章內(nèi)容
String content = request.getParameter("conten");
String sql="insert into szgs_art(art_id,art_class_id,art_name,art_conts,art_top,art_ow) values (art_id.nextval,'"+art_class_id+"','"+art_name+"','"+content+"','"+art_top+"',1)";
stmt.executeQuery(sql);
out.print("");
stmt.close();
conn.close();
%>
<%}else{%><%}%>
后來(lái)在網(wǎng)上查了半天也沒(méi)有好的解決辦法。倒是找到了一段我不會(huì)用的:
<%
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("java:oracle:thin:@srv:1521:srv","yp","yp");
String sql= "INSERT INTO speedfaw.news VALUES(?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
String title=request.getParameter("title");
String content=request.getParameter("content");
String temp = new String(content.getBytes("ISO8859-1"),"GBK");
byte[] pic = temp.getBytes("GBK");
ByteArrayInputStream baisss = new ByteArrayInputStream(pic);
InputStreamReader bais = new InputStreamReader(baisss,"GBK");
pstmt.setString(1,title);
pstmt.setCharacterStream(2,bais,pic.length);
pstmt.execute();
pstmt.close();
conn.close();
%>
最后能成功添加新數(shù)據(jù)的代碼為:
LOB類(lèi)型我也用了還是用不起來(lái)
最后還是用LONG了,
增加文章時(shí)用:<%
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection("java:oracle:thin:@srv:1521:srv","yp","yp");
String sql= "INSERT INTO speedfaw.news VALUES(?,?)";
PreparedStatement pstmt=conn.prepareStatement(sql);
String title=request.getParameter("title");
String content=request.getParameter("content");
String temp = new String(content.getBytes("ISO8859-1"),"GBK");
byte[] pic = temp.getBytes("GBK");
ByteArrayInputStream baisss = new ByteArrayInputStream(pic);
InputStreamReader bais = new InputStreamReader(baisss,"GBK");
pstmt.setString(1,title);
pstmt.setCharacterStream(2,bais,pic.length);
pstmt.execute();
pstmt.close();
conn.close();
%>
使用成功
關(guān)鍵詞標(biāo)簽:oracle,long類(lèi)型數(shù)據(jù)
相關(guān)閱讀
熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法