在线等待,奇怪oracle插入数据不成功??求解

小点哥 2003-01-21 02:16:45
<%
String dtkey="" ;
try{
//取数据表
//dtkey 为table 的名字
dtkey=new String(request.getParameter("dtkey").getBytes("ISO-8859-1"));
//参数名其实就是数据表的列名,参数值就是要存入数据表的信息
String vcname="" ,vcvalue="" ,vcnames="" ,vcvalues="" ,insertsql="" ,st="' ,'" ;
Enumeration vpe = request.getParameterNames();
//动态形成向数据库插入信息的 sql语句
while (vpe.hasMoreElements())

{

vcname = (String) vpe.nextElement();

vcname = vcname.trim();

if(vcname.equals("dtkey" )) continue;

if(vcname.equals("cmdcommit" )) continue;

String colname=vcname;

st=""+"'" ;

//由于向 Oracle中插入记录时,数值列和字符列是有区别的 ,所以必须在信息录入界面程序 sayMessage.jsp中提供标识

if(vcname.charAt(0)=='#' ){

//表示该列为数值列

colname=vcname.substring(1,vcname.length());

st="" ;

}

vcvalue=new String(request.getParameter(colname).getBytes("ISO-8859-1"));

vcvalue= vcvalue.trim();

vcnames= vcnames+ colname+"," ;

vcvalues=vcvalues+ st+ vcvalue+ st+",";

}

vcnames=vcnames .substring(0,vcnames .length()- 1)+")" ;

vcvalues=vcvalues .substring(0,vcvalues .length()-1)+")" ;

insertsql="insert into "+ dtkey + "("+vcnames+" values("+ vcvalues;

out.println(insertsql);

//插入发文

try{

String lmsg=replyok.executeUpdate(insertsql);

if(lmsg.indexOf("executeUpdate ok")< 0)

out.print("信息发布失败 ,error:"+ lmsg);

else

out.print("<BR> <BR> <BR> <CENTER> <H1>发布信息成功!</H1> </CENTER> </BR> </BR>");

}catch (Exception e1) { out.print("错误 001:"+ e1);}

} catch (Exception e) {out.println("错误 "+e);}

%>
...全文
61 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmvigour 2003-01-22
  • 打赏
  • 举报
回复
String lmsg=replyok.executeUpdate(insertsql);

if(lmsg.indexOf("executeUpdate ok")< 0)

当然不成立 所以结果当然是发布信息成功!
所以你这个信息不准确 我还以为你的自己写的executeUpdate()方法
小点哥 2003-01-22
  • 打赏
  • 举报
回复
楼上的,,executeUpdate()是不返回值的,只有
executeQuery()返回rs的。。
Allenlv 2003-01-22
  • 打赏
  • 举报
回复
返回int值
xmvigour 2003-01-21
  • 打赏
  • 举报
回复
replyok.executeUpdate(insertsql);
这个方法是怎么写的?返回什么
blackcat110 2003-01-21
  • 打赏
  • 举报
回复
类似这样的conn.setAutoCommit(false)
conn.setAutoCommit(true)看看
小点哥 2003-01-21
  • 打赏
  • 举报
回复
哦,这样的,奇怪的问题;
那条sql语句可以在sqlplus里面执行,完全没问题。
可是在jsp里面调试,
也执行到,
发布信息成功!
这里,,
但是就是数据库里面没有数据!!!!!
xmvigour 2003-01-21
  • 打赏
  • 举报
回复
把insertsql打印出来 在sql
plus执行看看 有没什么错?

81,091

社区成员

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

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