把你这些address = new String(ename.getBytes("iso8859-1"),"gb2312");
都println出来看是否转码正确再说???

解决方案 »

  1.   

    [Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文中不允许使用 'huazhouji'。此处只允许使用常量、表达式或变量。不允许使用列名。 huazhouji 111 拧电动机 打发法看见机 
      
    我println了 
    结果出错
      

  2.   

    可以试着把address = new String(ename.getBytes("iso8859-1"),"gb2312");都去掉,然后插入,有时候不转换,就可以了
      

  3.   

    我改了改程序:
    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page import="java.util.*,java.sql.*" %>
    <%@ include file="common.jsp" %> <% 
      String strEname=request.getParameter("ename");
      String strMima=request.getParameter("mima").trim();
      String strWhat=request.getParameter("what").trim();
      String strReply=request.getParameter("reply").trim();
      String strCnname=request.getParameter("cnname").trim();
      String strCode=request.getParameter("code").trim();
      String strPostcode=request.getParameter("postcode");
      String strTel=request.getParameter("tel");
      String strAddress=request.getParameter("address").trim();
      String strEmail=request.getParameter("email");
     try
     {
    String url= "jdbc:odbc:eshop";
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn= DriverManager.getConnection(url);
    java.sql.Statement stmt;
    stmt= conn.createStatement();
    String insertMessage = "INSERT INTO register(ename,mima,what,reply,cnname,code,postcode,tel,address,email) VALUES("+strEname+","+strMima+","+strWhat+","+strReply+","+strCnname+","+strCode+","+strPostcode+","+strTel+","+strAddress+","+strEmail+")";
    stmt.executeUpdate(insertMessage);

    stmt.close();
    conn.close();
     }catch(Exception e){
    out.println(e.getMessage());
     }
      %>  <html><head></head>
       <body>
       <%= strEname %>
       <%= strMima %>
       <%= strWhat %>
       <%= strAddress %>
       </body>
      </html>
    出错啊:
    [Microsoft][ODBC SQL Server Driver][SQL Server]在此上下文中不允许使用 'aaa'。此处只允许使用常量、表达式或变量。不允许使用列名。 aaa aaa aaa aa
      

  4.   

    是不是跟数据库中的列属性的设置有关 我都设成char型的
      

  5.   

    我已经弄清楚了 
    应该是
    String insertMessage = "INSERT INTO register(ename,mima,what,reply,cnname,code,postcode,tel,address,email) VALUES('"+strEname+"','"+strMima+"','"+strWhat+"','"+strReply+"','"+strCnname+"','"+strCode+"','"+strPostcode+"','"+strTel+"','"+strAddress+"','"+strEmail+"')";
    谢谢大家