问题遇到的现象和发生背景
是这样的,我们用elipse做简单的修改网页时,从教师表转到修改表时,表中单位编号每次都自动变为0.0,
问题相关代码,请勿粘贴截图
```java
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.sql.*"%>
修改一条教师信息
<% String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL="jdbc:sqlserver://LAPTOP-PCRUUGIM:1433;DatabaseName=study2"; String userName="sa"; String userPwd="123456"; try{ Class.forName(driverName); }catch(Exception e){ e.printStackTrace(); out.println("加载驱动失败!");} String teid=request.getParameter("teid"); String id=request.getParameter("id"); try{ Connection dbConn=DriverManager.getConnection(dbURL,"sa","123456"); Statement statement = dbConn.createStatement(); ResultSet rs=statement.executeQuery("select * from teacher where teid='"+teid+"'"); while(rs.next()){ %>
教师号:<input value="<%=teid%" type="text" name="Teid" />> |
姓 名:<input value="<%=rs.getString(2)" type="text" name="Tename" />> |
性 别: >男 >女 |
学 位:<input value="<%=rs.getString(4)" type="text" name="Tedegree" />> |
职 称:<input value="<%=rs.getString(5)" type="text" name="Tejob" />> |
年 龄:<input value="<%=rs.getString(6)%" type="text" name="Teage" />> |
单位编号: <%Connection conn = DriverManager.getConnection(dbURL,"sa","123456"); Statement state = conn.createStatement(); ResultSet rse = state.executeQuery("select * from study2.dbo.unit"); while (rse.next()) { %>> <%=rse.getString(1)%>(<%=rse.getString(2)%>) <%} }; }catch(Exception e) {e.printStackTrace(); out.print("SQL Server连接失败! ");} %> |
```java
运行结果及报错内容
没有报错,可以修改数据但就是单位编号总是默认为0.0,怎么让他和之前表的内容一致
我的解答思路和尝试过的方法
目测是因为包装类才用了double而不是Double 而有没有默认值导致使用了默认值零
我想要达到的结果
让修改表出现那个页面跟我之前的单位编号一样