首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

用户注册有关问题

2011-12-15 
用户注册问题上次那个数据库问题已解决,在次谢谢各位大哥啦!现在又有一个问题了,就是用户注册时发现的问题

用户注册问题
上次那个数据库问题已解决,在次谢谢各位大哥啦!现在又有一个问题了,就是用户注册时发现的问题!1:我用的是MYSQL数据库,我在用户表UserTable定义了UserRealName(真实姓名)这个字段,数据类型是CHAR。但是我在输入数据时(如输入张三),MYSQL就报错了,说Incorrect   string   Value!这该怎么解决啊,难道不能用中文?我在MYSQL安装时选的是GBK啊!2:由于不能输入中文,我在注册框中输入的全是英文和数字。可在执行SQL语句的时候还是出现了异常。以下是我的代码:
<%@   page   contentType= "text/html;charset=GB2312 "   %>
<%@   page   import= "java.sql.* "   %>
<%!
public   String   codeToString(String   str)
{//处理中文字符串的函数
    String   s=str;
    try
        {
        byte   tempB[]=s.getBytes( "ISO-8859-1 ");
        s=new   String(tempB);
        return   s;
      }
    catch(Exception   e)
      {
        return   s;
      }    
}
%>
<%//接收客户端提交的数据
  String   username=codeToString(request.getParameter( "username "));
  if(username==null)//无内容则设为空串
        username= " ";
  String   password=codeToString(request.getParameter( "password "));
  if(password==null)//无内容则设为空串
        password= " ";
  String   usertruename=codeToString(request.getParameter( "usertruename "));
  if(usertruename==null)//无内容则设为空串
        usertruename= " ";
  String   age=codeToString(request.getParameter( "age "));
  int   ageint;
  try
  {
    ageint=Integer.parseInt(age.trim());
  }
  catch(Exception   e)
  {
    ageint=0;     //没有输入年龄或输入的年龄不是数字则值为0
  }
  String   sex=codeToString(request.getParameter( "sex "));
  if(sex==null)//无内容则设为空串
        sex= " ";
  String   address=codeToString(request.getParameter( "address "));
  if(address==null)//无内容则设为空串
        address= " ";
  String   telephone=codeToString(request.getParameter( "telephone "));
  if(telephone==null)//无内容则设为空串
        telephone= " ";
%>
<%//构造追加记录SQL语句
  String   sqlString=null;//SQL语句
  sqlString= "insert   into   userTable

(user_name,user_password,user_true_name,user_age,user_sex,user_address,user_telephone) "+
                        "   values

( ' "+username+ " ', ' "+password+ " ', ' "+usertruename+ " ', "+ageint+ ", ' "+sex+ " ', ' "+address+ " ', ' "+t

elephone+ " ') ";
%>
<%//执行SQL语句
  try  
        {   Connection   con;
            Statement   sql;
            Class.forName( "com.mysql.jdbc.Driver ");
            con=DriverManager.getConnection( "jdbc:mysql://localhost:3306/JOB ", "root ", "1 ");
            sql=con.createStatement();
            sql.executeUpdate(sqlString);


            con.close();
        }
  catch(SQLException   e1)  
        {
            out.print( "SQL异常! ");
        }
%>
<head>
<title> 用户注册程序 </title>
</head>
<body>
<center>
<table   border= "1 "   width= "700 ">
    <tr>
        <td   width= "100% "   colspan= "2 "   align= "center "> 用户注册程序 </td>
    </tr>
    <tr>
        <td   width= "100% "   colspan= "2 "> 追加用户成功! </td>
    </tr>
    </table>
</center>
</body>
</html>


[解决办法]
看看错误提示的行号是多少?
然后去看生成的java文件,问题就会很清楚了
[解决办法]
把数据类型是CHAR改为varchar吧
[解决办法]
数据类型也应改为varchar,
[解决办法]
是的改成varchar2

热点排行