jsp中添加一条新的记录问题,谢谢
如果输入数据库中已经存在的记录会提示已经有了,而当我输入一条数据库中不存在的记录时,会弹出“添加设备信息失败”,不知道为什么,很急。
代码如下:
equi_add.jsp
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* " %>
<html>
<head>
<title> 添加设备 </title>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<style type= "text/css ">
<!--
.STYLE1 {font-family: "宋体 "}
-->
</style>
</head>
<script language= "javascript ">
function mycheck(){
if (form1.EquiNo.value== " "){
alert( "请输入主设备号! ");form1.EquiNo.focus();return;
}
if (form1.LabId.value== " "){
alert( "请输入实验台编号! ");form1.LabId.focus();return;
}
if (form1.RoomId.value== " "){
alert( "请输入所属实验室! ");form1.RoomId.focus();return;
}
if (form1.Charger.value== " "){
alert( "请输入设备负责人! ");form1.Charger.focus();return;
}
if (form1.MacAddr.value== " "){
alert( "请输入MAC地址! ");form1.MacAddr.focus();return;
}
if (form1.PowerAddr.value== " "){
alert( "请输入电源控制地址! ");form1.PowerAddr.focus();return;
}
form1.submit();
}
</script>
<body>
<table width= "100% " border= "0 " cellspacing= "0 " cellpadding= "0 ">
<tr>
<td>
<table width= "777 " height= "609 " border= "0 " align= "center " cellpadding= "0 " cellspacing= "0 " bgcolor= "#FFFFFF ">
<tr>
<td valign= "top "> <table width= "100% " border= "0 " cellspacing= "0 " cellpadding= "0 " class= "tableBorder_LTR ">
<tr>
<td height= "30 " align= "center " bgcolor= "#eeeeee "> ≡≡≡添加设备≡≡≡ </td>
</tr>
</table>
<table width= "100% " height= "396 " border= "0 " cellpadding= "0 " cellspacing= "0 " class= "tableBorder_LBR ">
<tr>
<td width= "10 " height= "395 " valign= "top "> </td>
<td width= "767 " valign= "top "> <table width= "100% " height= "56 " border= "0 " cellpadding= "0 " cellspacing= "0 ">
<tr>
<td align= "center "> </td>
</tr>
<tr>
<td align= "center ">
<form action= "equi_add_deal.jsp " method= "post " name= "form1 ">
<table width= "100% " height= "275 " border= "1 " align= "center " cellpadding= "-2 " cellspacing= "-2 " bordercolor= "#66FFFF " bordercolordark= "#FFFFFF ">
<tr>
<td width= "19% " height= "27 "> 主设备编号: </td>
<td height= "27 ">
<input name= "EquiNo " type= "text " class= "Sytle_text " id= "EquiNo "> </td>
<td height= "27 "> <span class= "STYLE1 "> 实验台编号 </span> : </td>
<td height= "27 ">
<input name= "LabId " type= "text " class= "Style_upload " id= "LabId "> </td>
</tr>
<tr>
<td height= "27 "> 所属实验室: </td>
<td width= "28% " height= "27 ">
<input name= "RoomId " type= "text " class= "Style_upload " id= "RoomId "> </td>
<td width= "21% " height= "27 "> 设备负责人: </td>
<td width= "32% " height= "27 ">
<input name= "Charger " type= "text " class= "Sytle_text " id= "Charger "> </td>
</tr>
<tr>
<td height= "27 "> MAC地址: </td>
<td height= "27 ">
<input name= "MacAddr " type= "text " class= "Style_upload " id= "MacAddr "> </td>
<td height= "27 "> 电源控制地址: </td>
<td height= "27 ">
<input name= "PowerAddr " type= "text " class= "Sytle_text " id= "PowerAddr "> </td>
</tr>
<tr>
<td height= "45 "> 是否可用: </td>
<td> <input name= "StatusFlag " type= "radio " class= "noborder " value= "1 " checked>
是
<input name= "StatusFlag " type= "radio " class= "noborder " value= "0 ">
否 </td>
<td> 有无附加设备: </td>
<td> <input name= "AddFlag " type= "radio " class= "noborder " value= "1 " checked>
是
<input name= "AddFlag " type= "radio " class= "noborder " value= "0 ">
否 </td>
</tr>
<tr>
<td height= "103 "> 设备简介: </td>
<td colspan= "3 "> <span class= "style5 "> </span>
<textarea name= "Remark " cols= "60 " rows= "5 " class= "textarea " id= "Remark "> </textarea> </td>
</tr>
<tr>
<td height= "38 " colspan= "4 " align= "center ">
<input name= "Button " type= "button " class= "btn_grey " value= "保存 " onClick= "mycheck() ">
<input name= "Submit2 " type= "reset " class= "btn_grey " value= "重置 ">
<input name= "Submit3 " type= "button " class= "btn_grey " value= "返回 " onClick= "JScript:history.back() "> </td>
</tr>
</table>
</form>
</td>
</tr>
</table> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
equi_add_deal.jsp
<%@ page contentType= "text/html; charset=gb2312 " language= "java " import= "java.sql.* "
errorPage= " " %>
<%@ page import= "java.lang.* "%>
<jsp:useBean id= "Conndb " scope= "page " class= "beans.Conndb "/>
<jsp:useBean id= "chStr " scope= "page " class= "beans.chStr "/>
<html>
<head>
<title> 添加确认 </title>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
</head>
<body>
<%
if(request.getParameter( "EquiNo ")!= " "){
String EquiNo=chStr.chStr(request.getParameter( "EquiNo "));
String LabId=chStr.chStr(request.getParameter( "LabId "));
String RoomId=chStr.chStr(request.getParameter( "RoomId "));
String Charger=chStr.chStr(request.getParameter( "Charger "));
String MacAddr=chStr.chStr(request.getParameter( "MacAddr "));
String PowerAddr=chStr.chStr(request.getParameter( "PowerAddr "));
int StatusFlag=Integer.parseInt(request.getParameter( "StatusFlag "));
int AddFlag=Integer.parseInt(request.getParameter( "AddFlag "));
String Remark=chStr.chStr(request.getParameter( "Remark "));
if(Remark.equals( " ")) Remark= "暂无 ";
ResultSet rs=Conndb.executeQuery( "select * from lab_equi_table where
EquiNo= ' "+request.getParameter( "EquiNo ")+ " ' ");
if(rs.next()){
out.println( " <script language= 'javascript '> alert( '该设备信息已经添
加! ');history.back(-1); </script> ");
}else{
String sql= "insert into lab_equi_table
(EquiNo,LabId,RoomId,Charger,MacAddr,PowerAddr,StatusFlag,AddFlag,Remark) values
( ' "+EquiNo+ " ', ' "+LabId+ " ', ' "+RoomId+ " ', ' "+Charger+ " ', ' "+MacAddr+ " ', ' "+PowerAddr+ " ', "+StatusF
lag+ ", "+AddFlag+ ", "+Remark+ ") ";
int ret=0;
ret=Conndb.executeUpdate(sql);
if (ret!=0){
out.println( " <script language= 'javascript '> alert( '设备信息添加成
功! ');window.location.href= 'index1.jsp '; </script> ");
}else{
out.println( " <script language= 'javascript '> alert( '设备信息添加失
败! ');window.location.href= 'equi_add.jsp '; </script> ");
}
}
}else{
out.println( " <script language= 'javascript '> alert( '您的操作有
误! ');window.location.href= 'index.jsp '; </script> ");
}
%>
</body>
</html>
[解决办法]
sql语句的问题吧
[解决办法]
…………
LZ,不要试图通过executeUpdate(sql)是否等于0来判断是否插入成功……你会很失望的
基本上它不报错就表示插入操作执行成功了,如果失败…………它也不会返回0的
建议改成
try{
Conndb.executeUpdate(sql);
out.println( " <script language= 'javascript '> alert( '设备信息添加成功! ');window.location.href= 'index1.jsp '; </script> ");
}
catch(Exception ex){
out.println( " <script language= 'javascript '> alert( '设备信息添加失
败! ');window.location.href= 'equi_add.jsp '; </script> ");
}
[解决办法]
MVC