我在jsp向数据库添加数据的时候写的insert代码的时候出错,     String name=request.getParameter("name");
     String email=request.getParameter("email");出错的一句是   sql="INSERT INTO customer(name,email)VALUES('"+name+"','"+email+"')";它始终说该句出错,请哪个给我看下这个代码什么地方写错了呀
运行的时候提示错误信息如下:An error occurred at line: 59 in the jsp file: /data_insert.jsp
name cannot be resolved
56:    String urlsto="jdbc:microsoft:sqlserver://10.10.141.21:1433;DatabaseName=Smaple";
57:    conn=DriverManager.getConnection(urlsto,"sa","xtdjxyc");
58:    stmt=conn.createStatement();
59:    sql="INSERT INTO customer(name,email) VALUES('"+name+"','"+email+"')";
60:    ret=stmt.executeUpdate(sql);
61:    }
62:    catch(ClassNotFoundException e){
请那个给我看下这个insert哪写错了哦,忘记了说一下我表里面的这两个字段都是字符型的,着重给我看下那一行标点符号错在哪了哦,拜托

解决方案 »

  1.   

    59:    sql="INSERT INTO customer(name,email) VALUES('"+name+"','"+email+"')"; 改成
    59:    sql="INSERT INTO customer(name,email) VALUES('"+name+"','"+email+"');"; 错误可能是你的定义的name超出了作用域,而你在sql的字符串中使用了未定义的name.
      

  2.   

    建议你先将name System.out 一下.看看什么结果?
    表面上看sql没有问题.
      

  3.   

    估计是粗心大意name写错了.或者如一楼所说,超出了name的作用域
      

  4.   

    使用中括号
    sql="INSERT INTO customer([name],email)VALUES('"+name+"','"+email+"')";
      

  5.   

    執行sql語句的時候name沒取道。。
      

  6.   

    name cannot be resolved 
    你的NAME 不在作用区域内,或者没定义过,另外建议使用预编译
      

  7.   

    最终解决方法,不行你来找我:
    sql="INSERT INTO customer(name,email) VALUES('"+name+"','"+email+"')"; 
    这句改成:
    sql="INSERT INTO customer([name],email) VALUES('"+name+"','"+email+"')"; 
    就行了
      

  8.   

    自己定位最简单,告诉你一个方法
    将sql打印出来,然后用打印出来的sql直接到数据库中去执行,修改他到能插入为止。就一个insert语句应该很容易能看出错误的.
      

  9.   


    String sql="INSERT INTO customer(name,email)VALUES(?,?)";
    PreparedStatement pstmt=conn.prepareStatement(sql);
    pstmt.setString(1,name);
    pstmt.setString(2.email);
      

  10.   

    尽量用这种代码 又防止sql注入的好处
      

  11.   

    sql="INSERT INTO customer(name,email)VALUES('"+name+"','"+email+"')";
    改为:
    sql="insert into customer(name,email)values("+name+","+email+")";
      

  12.   

    错误说的是你的"name"变量没有定义,并不是sql语句的问题,请查看name的作用范围或拼写