三、找錯題20分(共5處錯誤,每處4分)
現需為網上書店提供一個接口,用于查詢某筆訂單對應的明細編號,書籍編號以及實際價格,并且按明細編號排序。表結構如下所示:
字段描述
字段名
類型
明細編號
ORDERDETAILID
VARCHAR2(50)
訂單號
ORDERID
VARCHAR2 (50)
書籍編號
BOOKID
VARCHAR2 (50)
原價
BOOKPRICE
NUMBER (10,2)
折扣率
BOOKRATE
NUMBER(4,2)
備注
MEMO
VARCHAR2 (4000)
代碼如下:
public Map getorderdetail(String orderId ){
String sql = "select from orderdetails" ;
sql += " where orderId=" + orderId ;
sql += " order by orderDetailId" ;
//注:getConnection為偽代碼,用于獲取數據庫連接
java.sql.Statement st = getConnection().createStatement() ;
ResultSet rs = st.executeQuery(sql) ;
Map a = new HashMap() ;
OrderDetail orderDetail = new OrderDetail() ;
while(rs.next()){
orderDetail.setOrderDetailId(rs.getString(1)) ;
orderDetail.setOrderId(rs.getString(2)) ;
orderDetail.setBookId(rs.getString(3)) ;
orderDetail.setBookPrice(rs.getDouble(4)) ;
orderDetail.setBookRate(rs.getDouble (5)) ;
orderDetail.setMemo(rs.getString(6)) ;
a.put(orderDetailId , orderDetail) ;
}
return a ;
}
現需盡可能提高代碼的運行效率及可維護性,請指出上面代碼需改正(改進)的地方(共七種),并說明原因及改正(改進)的方法。
2020年河北新聞網兩學一做
時間:2023-09-18 07:0:242020年河北新聞網兩學一做
時間:2023-09-15 11:0:59兩學一做學習教育知
時間:2023-09-21 06:0:302020年開展兩學一做學習教
時間:2023-09-19 21:0:30