数据插入时的问题

shinco1 2004-12-24 08:49:12
求救jsp+mysql数据插入时的问题
字段类型text
改为preparedStatement方式插入数据
发布时粘贴word内容可以,但录入表格不能超过22行,提示错误:
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.gjt.mm.mysql.Buffer.writeStringNoNull(Buffer.java:329)
at org.gjt.mm.mysql.PreparedStatement.executeUpdate(PreparedStatement.java:302)
at _tongzhi._tz_0save__jsp._jspService(/tongzhi/tz_save.jsp:39)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:181)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:217)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:159)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:479)
...全文
151 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shinco1 2005-04-25
  • 打赏
  • 举报
回复
varchar可以处理多大的插入值的,mysql里面的大字段类型不是text嘛
shinco1 2005-04-25
  • 打赏
  • 举报
回复
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.gjt.mm.mysql.Buffer.writeStringNoNull(Buffer.java:329)
at org.gjt.mm.mysql.PreparedStatement.executeUpdate(PreparedStatement.java:302)
at _tongzhi._tz_0save__jsp._jspService(/tongzhi/tz_save.jsp:39)
at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:181)
at com.caucho.server.http.Invocation.service(Invocation.java:291)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:217)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:159)
at com.caucho.server.TcpConnection.run(TcpConnection.java:136)
at java.lang.Thread.run(Thread.java:479)


--------------------------------------------------------------------------------
shinco1 2005-01-14
  • 打赏
  • 举报
回复
请问楼上的怎么解决呢
cssteven 2005-01-14
  • 打赏
  • 举报
回复
估计你content字段用text属性太小,只有16位,用varchar,把位数调高点试试!!~~~~
以梦为马 2005-01-14
  • 打赏
  • 举报
回复
友情UP。
lecy 2005-01-07
  • 打赏
  • 举报
回复
ArrayIndexOutOfBoundsException
shinco1 2005-01-07
  • 打赏
  • 举报
回复
create table t_tongzhi
(id int unsigned auto_increment not null primary key,
title varchar(100) NOT NULL,
content text,
fujian varchar(50),
bumen varchar(30),
zuozhe varchar(20),
isdel tinyint unsigned default '0',
fbrq datetime);
aspgreener 2005-01-07
  • 打赏
  • 举报
回复
up
redex 2005-01-04
  • 打赏
  • 举报
回复
检查mysql相应字段定义的长度.
lmzh171 2005-01-04
  • 打赏
  • 举报
回复
数组下标越界

自己仔细看看代码,这种错误很容易找到的
shinco1 2005-01-04
  • 打赏
  • 举报
回复
求救
shinco1 2004-12-24
  • 打赏
  • 举报
回复
<%@ page language="java"%>
<%@ page import="java.sql.*, java.io.*,java.util.*,com.jspsmart.upload.*" %>
<%@ page contentType="text/html;charset=GB2312" %>
<jsp:useBean id="db" scope="page" class="database.DBConnect"/>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload"/>
<% String sql_str = "";//查询语句
ResultSet rs=null;
//接收客户端选择的数据
mySmartUpload.initialize(pageContext); //上传初始化
mySmartUpload.upload();
int count=0;
for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
String title = mySmartUpload.getRequest().getParameter("title");
String bumen = mySmartUpload.getRequest().getParameter("bumen");
String zuozhe = mySmartUpload.getRequest().getParameter("zuozhe");
String content = mySmartUpload.getRequest().getParameter("news");
Class.forName("org.gjt.mm.mysql.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/log","root","shinco");
sql_str="insert into t_tongzhi(title,bumen,zuozhe,content,fbrq) values(?,?,?,?,?)";
PreparedStatement perstmt=conn.prepareStatement(sql_str);
java.util.Date date1 = new java.util.Date();
java.sql.Timestamp date2= new java.sql.Timestamp(date1.getTime());//带时分秒
perstmt.setString(1,title);
perstmt.setString(2,bumen);
perstmt.setString(3,zuozhe);
perstmt.setString(4,content);
perstmt.setTimestamp(5,date2);
perstmt.executeUpdate();

sql_str ="select id from t_tongzhi where fbrq='"+date2+"'";
rs=db.executeQuery(sql_str);
String docid=rs.getString("id");

com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
if (!myFile.isMissing()){
if(myFile.getSize()>2000000)
{
out.println("<br><font color='#FF3300'>对不起,文件大小超出限制(<2M),请重新上传。</font><br>");
out.println("<a href=tz_fabu.jsp>返回</a>");
return;
}
java.util.Date date = new java.util.Date();
String datetime = new Timestamp(date.getTime()).toString();
myFile.saveAs("/tongzhi/doc/" + date.getTime()+"."+(myFile.getFileExt()).toLowerCase());

String fujian=date.getTime()+"."+(myFile.getFileExt()).toLowerCase();

sql_str ="update t_tongzhi set fujian='"+fujian+"' where id='"+docid+"'";
db.executeUpdate(sql_str);
}
}%>
<script language=javascript>
alert("发布成功!");
window.location.href="tz_fabu.jsp";
</script>


华生豆 2004-12-24
  • 打赏
  • 举报
回复
数组下标越界,你的代码呢~~~

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧