读书人

用户注册有关问题

发布时间: 2011-12-15 23:41:24 作者: rapoo

用户注册问题
上次那个数据库问题已解决,在次谢谢各位大哥啦!现在又有一个问题了,就是用户注册时发现的问题!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

读书人网 >Java Web开发

热点推荐