try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
conn=DriverManager.getConnection(url,"sa","02051306");//建立与数据库的连接
stmt=conn.createStatement();
sql="select * from kemu where kemuhao='"+kemuhao+"'";
rs=stmt.executeQuery(sql);
int intRowCount = rs.getRow();
if(intRowCount>0){
response.sendRedirect("err.jsp");
}sql="insert into kemu(xuehao,kemuhao,kemu,xuefen,defen)";sql=sql+"values('"+xuehao+"','"+kemuhao+"','"+kemu+"','"+xuefen+"','"+defen+"')";
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
out.println("<font size=3 color=blue>正在处理信息,请稍后......</font><meta http-equiv='refresh' content='2;url=kemu.jsp'>");
}
catch(Exception e){
response.sendRedirect("err.jsp");
}
怎么获得的总是为0啊 我把大于改成等于就报错 我是想去判断数据库里有没有这条记录,没有再INSERT 现在是就算有记录也还是直接添加进去了
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
conn=DriverManager.getConnection(url,"sa","02051306");//建立与数据库的连接
stmt=conn.createStatement();
sql="select * from kemu where kemuhao='"+kemuhao+"'";
rs=stmt.executeQuery(sql);
int intRowCount = rs.getRow();
if(intRowCount>0){
response.sendRedirect("err.jsp");
}sql="insert into kemu(xuehao,kemuhao,kemu,xuefen,defen)";sql=sql+"values('"+xuehao+"','"+kemuhao+"','"+kemu+"','"+xuefen+"','"+defen+"')";
stmt.executeUpdate(sql);
rs.close();
stmt.close();
conn.close();
out.println("<font size=3 color=blue>正在处理信息,请稍后......</font><meta http-equiv='refresh' content='2;url=kemu.jsp'>");
}
catch(Exception e){
response.sendRedirect("err.jsp");
}
怎么获得的总是为0啊 我把大于改成等于就报错 我是想去判断数据库里有没有这条记录,没有再INSERT 现在是就算有记录也还是直接添加进去了
然后试下这几行:rs=stmt.executeQuery(sql);
rs.beforeFirst();
int intRowCount = rs.getRow();
if(intRowCount>0){
response.sendRedirect("err.jsp");
}
rst = stmt.executeQuery(sql);
rst.last(); // 这里如果没有移动ResultSet,那么就会是0
int i = rst.getRow();
2. 要么用select count(*) from tb where .....
在判断这个count的值!