在线等待,奇怪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);}
%>