以下代码编译通过,但是不能修改数据,
是什么意思?
具体点!rq = request.getParameter("rq");
xm = getStr(request.getParameter("xm"));...............
这些数据你都输出来看了吗?是对的吗?
数据类型都检查了吗?

解决方案 »

  1.   

    我的意思是:我不能通过这个servlet来修改数据库中的数据!
    显然你看出来这是处理表单数据的!
    类型都没问题的,和这样类似的代码,我用来添加数据没点问题,但是来修改就不行了!
    我怎么也发现不了问题!
      

  2.   

    在web.xml里我已经正确部署了啊!应该没问题,这个“用来修改数据”内容代码就是在“用来写入数据”代码的基础上写的!但是后者都没问题,我怀疑是不是那个public int executeUpdate(String sql)函数写得有问题呢????原本我在“用来输出html的代码”前加上了条件判断语句,当row==1时才想客户端返回“您成功等等之类的话”,后来我去掉了,不过有没有结果都一样!妈的,气死帅哥我了!
      

  3.   

    public void executeUpdate(String sql) {
        stmt = null;
        rs=null;
        try {
        conn = DriverManager.getConnection(sConnStr); 
        stmt = conn.createStatement();
        stmt.executeQuery(sql);
        stmt.close();
        conn.close();
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
      }我用的public void executeUpdate(String sql) {
    你试试!
      

  4.   

    sql语句对的话,
    有executeUpdate(sql);问题吗?弄个简单点的SQL试试
      

  5.   

    好的,cgsun兄,我尝试一下!
    我是从宿舍跑到学校的机房来求助大家了!
    所以现在还无法在机器上马上调试,但是大家给了我思路和一些可行的办法!我会吸取意见的!
    多谢!明天来结帐!
    大家继续!
      

  6.   

    其实我是想偷懒,在原先作好的一个servlet的基础上想简单改动一下,没想到出现了这么一个大香蕉,真是令我头疼!哎呀~~~
      

  7.   

    acefr(),好人啊~~5555555555~~~~~~~~~
      

  8.   

    String user = "guest";
        String password = "";
    是不是登录数据库得权限不够啊?我调试了你的程序,没问题的 啊,我只不过把sql语句改的简单了一点啊!
      

  9.   

    是啊,我把权限设置过了,可以update!但是仍然有问题!!!!
    我怀疑是不是我的MSSQL2K的jdbc驱动版本的问题呢?
    我当时下那个版本并没有声明支持jdk1.4,大家过来看看,是不是这样的问题呢?
    还有,我是在2K professional下装的SQL2K个人开发版本!是不是也因此受到影响呢?
    我都快想抹脖子了,我今天早上不用servlet来执行修改数据库了,直接在jsp页面内,但是仍然不可以修改,而且没有抱错信息!你说,我该怎么办呢??
      

  10.   

    现在我把jso代码贴出来,大家看看!我靠,我都快要疯了,我做的这个项目在最难的地方上没有被拌住,反而在最简单的地方上出问题,而且解决不了,我~!@#$%^&*
    <%@ page language="java" import="java.sql.*,java.io.*,java.util.*"%>
    <%
    response.setHeader("Pragma","No-cache"); 
    response.setHeader("Cache-Control","no-cache"); 
    response.setDateHeader("Expires", 0); 
    %>
    <%!  
     public String getStr(String str)
      {
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("GBK");
    String temp=new String(temp_t,"ISO8859_1");
    return temp;
    }
    catch(Exception e)
    { }
    return "null";
      }
    %> 
    <html>
    <head>
    <title>Modify</title>
    </head><body text=#0000ff vLink=#800000 aLink=#ff0000 link=#0000ff bgProperties=fixed bgColor=#cccc99>
    <%String rq,xm,dfl,nr,cgwm1,sl1,cgwm2,sl2,cgwm3,sl3,bz,kssj,jssj,zdsj,jsj;
        rq = request.getParameter("rq");
        xm = getStr(request.getParameter("xm"));
        dfl= getStr(request.getParameter("dfl"));
        nr = getStr(request.getParameter("nr"));
        kssj = request.getParameter("kssj");
        jssj = request.getParameter("jssj");
        zdsj = request.getParameter("zdsj");
        jsj = request.getParameter("jsj");
        cgwm1 =getStr(request.getParameter("cgwm1"));
        sl1 = request.getParameter("sl1");
        cgwm2 =getStr(request.getParameter("cgwm2"));
        sl2 = request.getParameter("sl2");
        cgwm3 =getStr(request.getParameter("cgwm3"));
        sl3 = request.getParameter("sl3");
        bz =getStr(request.getParameter("bz"));
    %>
    <%
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url="jdbc:microsoft:sqlserver://localhost:1433;Databasename=timecount"; 
    String user="guest"; 
    String password=""; 
    String sql="update timecount set Project_id='"+xm+"',dfl='"+dfl+"',nr='"+nr+"',kssj='"+kssj+"',jssj='"+jssj+"',zdsj='"+zdsj+"',jsj='"+jsj+"',cgwm1='"+cgwm1+"',sl1='"+sl1+"',cgwm2='"+cgwm2+"',sl2='"+sl2+"',cgwm3='"+cgwm3+"',sl3='"+sl3+"',bz='"+bz+"' where rq='"+rq+"'";
    Connection conn= DriverManager.getConnection(url,user,password); 
    Statement stmt=conn.createStatement();  
    try
    {
    stmt.execute(sql);
    out.println(":) 恭喜您,数据修改成功<br>");
    out.println("<a href=\"http://cjhelp:8080/cn/jsp/tcview.jsp\">查看当前数据</a>");
    out.println("<a href=\"http://cjhelp:8080/cn/jsp/tc_edit.jsp\">返回继续修改</a>");
    }catch(Exception e){
    out.println(":( 发生异常错误,数据修改失败!");
    }
    stmt.close();
    conn.close();
     %>
    </body>
    </html>
      

  11.   

    把SQL语句放到查询分析器里试试先。
      

  12.   

    public String getStr(String str)
      {
    try
    {
    String temp_p=str;
    byte[] temp_t=temp_p.getBytes("GBK");
    String temp=new String(temp_t,"ISO8859_1");
    return temp;
    }
    catch(Exception e)
    { }
    return "null";
      }
    看看是不是这里的这个  return "null"  的事情 我没有试 不过提个醒 自己冷静点 好好想想啊