Fearlie_Nathan 2015-04-12 09:06 采纳率: 100%
浏览 1500
已采纳

关于JSP链接SQL的问题

老师现在教的是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有值,第一个问号得不到取的值,但是把第一个问号改成要修改的列名数据库就能更新,我就不知道怎么解决了。

  • 写回答

3条回答 默认 最新

  • lhl_lqc 2015-04-12 09:25
    关注

    如果按照你这样写,那应该有三个参数,第一个是列名,第二个是列名对应的值,第三个是account对应的值。不过一般情况下都是写好列名,然后set列名对应的值,就像你where后面的account就是直接写好的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键