如果输入数据库中已经存在的记录会提示已经有了,而当我输入一条数据库中不存在的记录时,会弹出“添加设备信息失败”,不知道为什么,很急。
代码如下:
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">&nbsp;</td>
          <td width="767" valign="top"><table width="100%" height="56"  border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td align="center">&nbsp;</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">&nbsp;主设备编号:</td>
                    <td height="27">&nbsp;
                      <input name="EquiNo" type="text" class="Sytle_text" id="EquiNo"></td>
                    <td height="27">&nbsp;<span class="STYLE1">实验台编号</span>:</td>
                    <td height="27">&nbsp;
                          <input name="LabId" type="text" class="Style_upload" id="LabId">                    </td>
                  </tr>
                  <tr>
                    <td height="27">&nbsp;所属实验室:</td>
                    <td width="28%" height="27">&nbsp;
                          <input name="RoomId" type="text" class="Style_upload" id="RoomId">                    </td>
                    <td width="21%" height="27"> &nbsp;设备负责人:</td>
                    <td width="32%" height="27">&nbsp;
                          <input name="Charger" type="text" class="Sytle_text" id="Charger">                    </td>
                  </tr>
                  <tr>
                    <td height="27">&nbsp;MAC地址:</td>
                    <td height="27">&nbsp;
                          <input name="MacAddr" type="text" class="Style_upload" id="MacAddr">                    </td>
                    <td height="27">&nbsp;电源控制地址:</td>
                    <td height="27">&nbsp;
                          <input name="PowerAddr" type="text" class="Sytle_text" id="PowerAddr">                   </td>
                  </tr>
                  <tr>
                    <td height="45">&nbsp;是否可用:</td>
                    <td>&nbsp; <input name="StatusFlag" type="radio" class="noborder" value="1" checked>

  <input name="StatusFlag" type="radio" class="noborder" value="0">
否</td>
                    <td>&nbsp;有无附加设备:</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">&nbsp;设备简介:</td>
                    <td colspan="3"><span class="style5">&nbsp; </span>
                        <textarea name="Re" cols="60" rows="5" class="textarea" id="Re"></textarea></td>
                  </tr>
                  <tr>
                    <td height="38" colspan="4" align="center">
                        <input name="Button" type="button" class="btn_grey" value="保存" onClick="mycheck()">
&nbsp;                        
<input name="Submit2" type="reset" class="btn_grey" value="重置">
                        &nbsp;
                        <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 Re=chStr.chStr(request.getParameter("Re"));
if(Re.equals("")) Re="暂无";
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,Re) values('"+EquiNo+"','"+LabId+"','"+RoomId+"','"+Charger+"','"+MacAddr+"','"+PowerAddr+"',"+StatusFlag+","+AddFlag+","+Re+")";
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>

解决方案 »

  1.   

    …………
    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>");
    }
      

  2.   

    dr_lou
    这位大师,能具体的说一下吗?我的出问题了。谢谢。