免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3485 | 回复: 5
打印 上一主题 下一主题

resultset 方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-27 14:32 |只看该作者 |倒序浏览
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">;
<html>;
<head>;
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">;
<title>;修改用户信息</title>;
</head>;

<body>;
<jsp:useBean id="jspEx"scope="page" class="opendb.opendb"/>;
<%@page language="java" import="java.sql.*"%>;
<%@page language="java" import="java.lang.String.*"%>;
<%                                                  
String name=request.getParameter("name";
String password=request.getParameter("password";
String sql="select * from custom where name='"+name+"'and password='"+password+"'";
ResultSet rs=null;
rs=jspEx.executeQuery(sql);

if(rs.next()==false)
{
        out.println("000000000000";
rs.close();

%>;
<script language=JavaScript>;
alert("用户名或密码错误";
self.location="editinf.html";
</script>;
<%
}
rs.close();
rs=null;
rs=jspEx.executeQuery(sql);


String realname =rs.getString("realname".trim;
String sex =rs.getString("sex".trim();
String age =rs.getString("age".trim();
String xueli =rs.getString("xueli".trim();
String marriage =rs.getString("marriage".trim();
String job =rs.getString("job".trim();
String mail =rs.getString("mail").trim();
String tel =rs.getString("tel").trim();

rs.close();
%>;



数据库连接正常,到了从rs取值时出现如下错误:
大虾们知道否关于resultset 到那里去查他的方法。
500 Servlet Exception
java.sql.SQLException: [Microsoft][ODBC q???h] 郒処?
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6031)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:618
        at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(JdbcOdbc.java:3266)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(JdbcOdbcResultSet.java:5377)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:320)
        at sun.jdbc.odbc.JdbcOdbcResultSet.getString(JdbcOdbcResultSet.java:376)
        at _jsp._erp._jsp._editinf1__jsp._jspService(/erp/jsp/editinf1.jsp:42)
        at com.caucho.jsp.JavaPage.service(JavaPage.java:87)
        at com.caucho.jsp.JavaPage.subservice(JavaPage.java:81)
        at com.caucho.jsp.Page.service(Page.java:407)
        at com.caucho.server.http.Invocation.service(Invocation.java:290)
        at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:121)
        at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:23
        at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:157)
        at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
        at java.lang.Thread.run(Thread.java:484)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">;
<html>;
<head>;
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">;
<title>;修改用户信息</title>;
</head>;

<body>;
<jsp:useBean id="jspEx"scope="page" class="opendb.opendb"/>;
<%@page language="java" import="java.sql.*"%>;
<%@page language="java" import="java.lang.String.*"%>;
<%                                                  
String name=request.getParameter("name");
String password=request.getParameter("password");
String sql="select * from custom where name='"+name+"'and password='"+password+"'";
ResultSet rs=null;
rs=jspEx.executeQuery(sql);

if(rs.next()==false)
{
        out.println("000000000000");
rs.close();

%>;
<script language=JavaScript>;
alert("用户名或密码错误");
self.location="editinf.html";
</script>;
<%
}
rs.close();
rs=null;
rs=jspEx.executeQuery(sql);


String realname =rs.getString("realname");
String sex =rs.getString("sex").trim();
String age =rs.getString("age").trim();
String xueli =rs.getString("xueli").trim();
String marriage =rs.getString("marriage").trim();
String job =rs.getString("job").trim();
String mail =rs.getString("mail").trim();
String tel =rs.getString("tel").trim();

rs.close();
%>;

论坛徽章:
0
2 [报告]
发表于 2004-03-27 14:33 |只看该作者

resultset 方法

这个错误怎么解决

论坛徽章:
0
3 [报告]
发表于 2004-03-27 15:53 |只看该作者

resultset 方法

看了你的程序:

1、<%@page language="java" import="java.lang.String.*"%>;
这条语句就是错误的吧?

2、如果按照你的描述,
在取得数据的时候异常,
极有可能是因为你把字段的名称写错了。

论坛徽章:
0
4 [报告]
发表于 2004-03-27 15:56 |只看该作者

resultset 方法

补充,还有这句:

String realname =rs.getString("realname".trim;

也是错误的,应该是 trim()。

你文中提到了,
ResultSet的方法去哪里查找,查下jdk api 文档就可以。

论坛徽章:
0
5 [报告]
发表于 2004-03-27 16:32 |只看该作者

resultset 方法

rs.getString("something" 是否有可能得到一个 null, 对一个被认为是String的null用 trim()就会导致抛出NPE。 所以, 用trim()的时候要确认它不是null。 原来的程序的这种做法是不安全的。

论坛徽章:
0
6 [报告]
发表于 2004-03-27 21:58 |只看该作者

resultset 方法

这是经过我加工的嘛,原来是有trim()的,给我弄掉了,所以不是因为那个原因。jdk api 到哪里找?呵呵,我是菜鸟。、<%@page language="java" import="java.lang.String.*"%>;
这句也是我加的,不加也是这个错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP