老師現在教的是jdbc.odbc連接數據庫,我做的是jsp網頁更新數據庫操作(簡單程度):
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){out.println(e.getMessage());}
try{Connection conn=DriverManager.getConnection ("jdbc:odbc:logon","sa","sa");
String leixing=request.getParameter("leixing");
String ipt=Bytes(request.getParameter("ipt"));
String account=request.getParameter("account");
PreparedStatement pst=conn.prepareStatement("update user1 set ?=? where account=?");
pst.setString(1,ipt);
pst.setString(2,account);
其實我想問,sql語句set後面的問號為什麼沒起作用,我的leixing是從另外一個表單取到值了的,但是就是無法更新sql裡面的數據。(account是另一個頁面用戶輸入的學號,leixing是另一個界面用戶選擇要修改哪一列數據,取到的列名和sql裡的列名一樣,ipt指把那一列某個數據改成ipt從用戶輸入取到的數據)但是就是leixing有值,第一個問號得不到取的值,但是把第一個問號改成要修改的列名數據庫就能更新,我就不知道怎麼解決了。
如果按照你這樣寫,那應該有三個參數,第一個是列名,第二個是列名對應的值,第三個是account對應的值。不過一般情況下都是寫好列名,然後set列名對應的值,就像你where後面的account就是直接寫好的。