当前位置:编程学习 > JAVA >>

【求助】编写时出错 找不到错误

<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%@ page import="java.sql.*" %>
<html>
<head>

<title>员工管理</title>
</head>
<%
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url="jdbc:sqlserver://localhost:1433;DatabaseName=company";
String editemployeename=request.getParameter("name");
Connection conn=DriverManager.getConnection(url,"user","123456");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(
"select * from employee where firstname='"+editemployeename+"'");
if(rs!=null)rs.next();
%>
<body>
修改员工的数据
<hr>
<form action=employrredit.jsp method=post>
  <table border="0" cellspacing="0">
<tr>
<td> Firstname:</td>
<td> 
<input type="text" size="20" name="firstname" readonly="true" value="<%=rs.getString("firstname")%>"> </td></tr>
<tr>
<td> Lastname:</td>
<td><input type="text" size="20" name="lastname"
value="<%=rs.getString("lastname")%>" /></td>
</tr>
<tr>
<td> Age:</td>
<td><input type="text" size="20" name="age"
value="<%=rs.getInt("age")%>" /></td>
</tr>
<tr>
<td> City:</td>
<td>
<input type="text" size="20" name="city"
 value="<%=rs.getString("city")%>" /> </td></tr>
<tr>
<td> Address:</td>
<td>
<input type="text" size="40" name="address"
 value="<%=rs.getString("address")%>" /> </td></tr>
  </table>
<input type="submit" value="提交" />
</form>
</body>
<%
rs.close();
stmt.close();
conn.close();
%>
</html>



Java --------------------编程问答-------------------- 未查到数据,记住ResultSet是肯定返回的,你需要做的是判断rs.next()返回的值是否是true,只有true的时候才说明当前行有数据,否则可能到达最后一行或者未查到数据 --------------------编程问答-------------------- Result应该要这样用,while(rs.next()){
   syso(rs.getString("xx"));
}
这样才能保证你的rs集合有值才遍历,不然没值的时候会报错 --------------------编程问答--------------------
引用 2 楼 shadowsick 的回复:
Result应该要这样用,while(rs.next()){
   syso(rs.getString("xx"));
}
这样才能保证你的rs集合有值才遍历,不然没值的时候会报错
 这个我应该怎么改才对! --------------------编程问答--------------------
引用 2 楼 shadowsick 的回复:
Result应该要这样用,while(rs.next()){
   syso(rs.getString("xx"));
}
这样才能保证你的rs集合有值才遍历,不然没值的时候会报错
这个我应该怎样改才对? --------------------编程问答--------------------
引用 4 楼 u011125689 的回复:
Quote: 引用 2 楼 shadowsick 的回复:

Result应该要这样用,while(rs.next()){
   syso(rs.getString("xx"));
}
这样才能保证你的rs集合有值才遍历,不然没值的时候会报错
这个我应该怎样改才对?



String firstname = "";
String lastname = "";
while(rs.next()){
firstname = rs.getString("firstname");
lastname = rs.getString("lastname");
}


然后下面input的value就用这个firstname就可以了 --------------------编程问答-------------------- 1,加一个变量
<%
String firstName = "";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();

2,
if(rs!=null)rs.next();
改成
if(rs.next()) {
    firstName = rs.getString("firstname");
    // 其他字段类似
}

3,赋值
value="<%=firstName %>"
 // 其他字段类似 --------------------编程问答-------------------- 为什么好多人访问数据库的代码都写在页面呢?
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,