做了一个登陆信息判断的页面,html的内容省去不发了,连接的是sqlserver2000数据库,后台是 WEBLOGIC.
用户在文本框txtZk,txtXm,txtSfz输入准考证,姓名,身份证,系统连接数据表根据txtZk的信息找到该条考生记录,读取表中考生的
姓名,身份证并与输入的姓名,身份证做比较.
问题是:我对页面输入的内容和数据库读出的内容都做了转码(gb2312),但是总显示姓名错误,或身份证错误,而我在做调试是把输入的姓名,身份证和数据表读取的姓名,身份证都显示在页面上,明明完全一致啊,弄了几天都不明白,郁闷死了.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
String tmpZk,tmpXm,tmpSfz,sql,errDesc,tmpKcdm,tmpKcmc,tmpCj,tmpSj;
int rowCount;
request.setCharacterEncoding("gb2312");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localserver:1433;DatabaseName=zikaov2_archive";
String user="**";
String password="*******";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
errDesc="";
tmpZk="";
tmpXm="";
tmpSfz="";
if(request.getMethod().equals("POST")) {
tmpZk=request.getParameter("txtZk");
tmpZk=tmpZk.trim();
tmpXm=request.getParameter("txtXm");
tmpXm=tmpXm.trim();
tmpSfz=request.getParameter("txtSfz");
tmpSfz=tmpSfz.trim();
sql="select * from t_ks where ks_zkz='"+tmpZk+"'";
ResultSet rsKs=stmt.executeQuery(sql);
rsKs.last();
rowCount=rsKs.getRow();
rsKs.first();
if (rowCount==0) {
errDesc="无此记录";
}
else {
String ksXm=new String(rsKs.getString("ks_xm").getBytes("gb2312"));
String ksSfz=new String(rsKs.getString("ks_sfz").getBytes("gb2312"));
ksXm=ksXm.trim();
ksSfz=ksSfz.trim();
ksXm="adsfd";
if (ksXm!=tmpXm) { errDesc="姓名错误";}
//if (ksSfz!=tmpSfz) { errDesc="身份证错误"; }
}
out.print (errDesc+"<p>");
rsKs.close();
}
%>
用户在文本框txtZk,txtXm,txtSfz输入准考证,姓名,身份证,系统连接数据表根据txtZk的信息找到该条考生记录,读取表中考生的
姓名,身份证并与输入的姓名,身份证做比较.
问题是:我对页面输入的内容和数据库读出的内容都做了转码(gb2312),但是总显示姓名错误,或身份证错误,而我在做调试是把输入的姓名,身份证和数据表读取的姓名,身份证都显示在页面上,明明完全一致啊,弄了几天都不明白,郁闷死了.
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
String tmpZk,tmpXm,tmpSfz,sql,errDesc,tmpKcdm,tmpKcmc,tmpCj,tmpSj;
int rowCount;
request.setCharacterEncoding("gb2312");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localserver:1433;DatabaseName=zikaov2_archive";
String user="**";
String password="*******";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
errDesc="";
tmpZk="";
tmpXm="";
tmpSfz="";
if(request.getMethod().equals("POST")) {
tmpZk=request.getParameter("txtZk");
tmpZk=tmpZk.trim();
tmpXm=request.getParameter("txtXm");
tmpXm=tmpXm.trim();
tmpSfz=request.getParameter("txtSfz");
tmpSfz=tmpSfz.trim();
sql="select * from t_ks where ks_zkz='"+tmpZk+"'";
ResultSet rsKs=stmt.executeQuery(sql);
rsKs.last();
rowCount=rsKs.getRow();
rsKs.first();
if (rowCount==0) {
errDesc="无此记录";
}
else {
String ksXm=new String(rsKs.getString("ks_xm").getBytes("gb2312"));
String ksSfz=new String(rsKs.getString("ks_sfz").getBytes("gb2312"));
ksXm=ksXm.trim();
ksSfz=ksSfz.trim();
ksXm="adsfd";
if (ksXm!=tmpXm) { errDesc="姓名错误";}
//if (ksSfz!=tmpSfz) { errDesc="身份证错误"; }
}
out.print (errDesc+"<p>");
rsKs.close();
}
%>
解决方案 »
- 在Tomcat下运行应用程序出现NoSuchMethodError错误
- 用java做政府部门的宣传网站,用什么技术呢??
- 关于session。。。
- 请教高手!!(关于include的乱码问题!)
- 求助高手指点:intellij+tomcat的问题
- 请问一个TOMAT配置页面跳转的问题,谢谢,急
- 一个简单的jsp的useBean动作例子,看不懂出错信息,郁闷。求教各位高手
- 新手,请教一个java在数据库中编程的问题
- 运行TOMCAT的STARTUP提示YOU MUST SET JAVA_home to point at your JDK installatio该怎么办?
- vector 对象数组在jsp里面可以引用吗?看看我的代码
- ssh项目出现内存溢出
- 请问如何遍历dtree树
用:"aa".equals("aa");//等于
"aa".equalsIgnoreCase("aa");//不区分大小写 等于
!"aa".equals("aa");//不等于
!"aa".equalsIgnoreCase("aa");//....
正解!
还有就是从数据库里取的值一般都多出来几个空格,和回车!建议做过滤!
String ksXm=new String(rsKs.getString("ks_xm").toString().trim().getBytes("gb2312"));
String ksSfz=new String(rsKs.getString("ks_sfz").toString().trim().getBytes("gb2312"));