免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
jSP 通過JDBC操作數(shù)據(jù)庫的一些坑

   最近想著給公司的一些賬號密碼做一個管理,就想做一個內部網站。在處理數(shù)據(jù)庫的時候,jdbc的PreparedStatement 給了我很多坑。在此記錄一下:

1,查詢:比較順利

String sql = "select * from  pa_yc";

pstmt=conn.prepareStatement(sql);

rSet=pstmt.executeQuery();

while (rSet.next()) {

RemoteControlMsg remoteControlMsg=new RemoteControlMsg();

int id=rSet.getInt("id");

}

2,更新:坑 一堆堆

    第一個坑:

  String sql="UPDATE pa_yc set (pc_name = ?,xrk_no=?,xiangrikui_pwd=?,todesk_no=?,todesk_pwd=?) WHERE id = ?;";

Object[] objects = new Object[] {remote.getId(),remote.getPc_name(),remote.getXiangrikui_no(),remote.getXiangrikui_pwd(),remote.getTodesk_no(),remote.getTodesk_pwd()};

pstmt = conn.prepareStatement(sql1);

for(int i=0;i<objects.Length();i++){

pstmt.setObject(i+1,objects[i]);

}

正常情況下,這種方式是可以的。但是我用的時候始終有錯,折磨了好久,最后發(fā)現(xiàn) sql語句是有限制的。字符串太長就會被截斷舍棄。

然后我想著分開更新信息:

String sql1="update pa_yc set pc_name =? where id =?;";

String sql2="update pa_yc set xrk_no=? WHERE id =?";

String sql3="update pa_yc set xrk_pwd=? WHERE id =?";

String sql4="update pa_yc set td_pwd=? WHERE id =?";

String sql5="update pa_yc set td_no=? WHERE id =?";

Object[] objects = new Object[] {remote.getId(),remote.getPc_name(),remote.getXiangrikui_no(),remote.getXiangrikui_pwd(),remote.getTodesk_no(),remote.getTodesk_pwd()};

try {

pstmt = conn.prepareStatement(sql1);pstmt.setObject(1, objects[1]);pstmt.setObject(2, objects[0]);

pstmt.execute();pstmt.close();pstmt=null;

pstmt = conn.prepareStatement(sql2);pstmt.setObject(1, objects[2]);pstmt.setObject(2, objects[0]);

pstmt.executeUpdate();pstmt.close();pstmt=null;

pstmt = conn.prepareStatement(sql3);pstmt.setObject(1, objects[3]);pstmt.setObject(2, objects[0]);

pstmt.executeUpdate();pstmt.close();pstmt=null;

pstmt = conn.prepareStatement(sql4);pstmt.setObject(1, objects[4]);pstmt.setObject(2, objects[0]);

pstmt.executeUpdate();pstmt.close();pstmt=null;

pstmt = conn.prepareStatement(sql5);pstmt.setObject(1, objects[5]);pstmt.setObject(2, objects[0]);

pstmt.executeUpdate();pstmt.close();pstmt=null;

}

坑的地方:1,sql 中,set xxx = ?   這個地方 不能有”()“

2,在每一個pstmt.executeUpdate();后面,都需要pstmt.close();pstmt=null;

3,增加:比較順利,按照正常的方式

String sql = "insert INTO pa_yc(pc_name,xrk_no,xrk_pwd,td_no,td_pwd) values (?,?,?,?,?);";

try {

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, remoteControlMsg.getPc_name());

pstmt.setString(2, remoteControlMsg.getXiangrikui_no());

pstmt.setString(3, remoteControlMsg.getXiangrikui_pwd());

pstmt.setString(4, remoteControlMsg.getTodesk_no());

pstmt.setString(5, remoteControlMsg.getTodesk_pwd());

pstmt.executeUpdate();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

Close();

}

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
JDBC加強
java代碼重構
MySQL事務、JDBC總結
JDBC讀取新插入Oracle數(shù)據(jù)庫Sequence值的5種方法
oracle 日期類型字段的操作
淺談 JDBC 中 CreateStatement 和 PrepareStatement 的區(qū)別與優(yōu)劣。
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服