- 當用name作爲參數時, 如果名字裏面含有or 等帶有歧義的情況時, 或導致錯誤。比如String name = "or 1 or "將導致全部的記錄都會被輸出。這種錯誤叫做sql注入。我們需要將過濾的工作交給數據庫來處理。即PreparedStatement ps.
例子如下:
PreparedStatement ps = null;
String sql = "select id, name from user where name=?";
ps = conn.prepareStatement(sql);
ps.setString(1,name);
rs = ps.executeQuery();
2.PreparedStatement 除了具有上面過濾處理的優點,後具有效率的優點。