站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题怪事了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

怪事了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

摘要: 怪事了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,


resultset= conn.executeQuery("select username,password from user_table where username='"
+ username+"'");
out.println("select username,password from user_table where username='"+ username+"'");
while (resultset.next()) {
}

我发现在user_table表中如果personal个人资料字段为空的话,字段类型为text的话就出错,,

其它字段为varchar类型,为空时就不出错,怪事了,请高手帮忙解释一下。。。。。

MSSQL数据库,

不知道怎么回事,,,,

----------------------------------------------------------------------
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NullPointerException
org.apache.jsp.load_jsp._jspService(load_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

----------------------------------------------



http://community.csdn.net/Expert/TopicView.asp?id=4853672


个人资料字段是name or password,哪个为空啊?



<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%>


HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<head>
</head>

<body>
<%ResultSet login_resultset=null;
login_resultset= conn.executeQuery("select username from test where id=1");
login_resultset.last();
out.println("
"+String.valueOf(login_resultset.getRow()));
while (login_resultset.next()) {
//if ((MD5(password)).equals((String) resultset.getObject(2))) {
//session.setAttribute("username", username);
//response.sendRedirect("left.jsp");
// else {
//response.sendRedirect("left.jsp");
}
//} else {
//response.sendRedirect("left.jsp");
//}


%>
</body>




----------------------------------
test三个字段

id 自增 整型
username char
text text

mssql数据库,,,

---------------------------------

我刚才刚测出来,,发现只要text中的数据为""就出错,而text中的内容为null或有数据时就不出错,,怎么回事》


我们用java来解决实际问题。java技术交流,讨论java的技术细节和最新技术。欢迎中高级程序员加入讨论。QQ群:3001581


顶。


把你的驱动换了,微软的驱动很 LJ。换了之后就没有问题了。


驱动问题?oh,晕


不同类型的字段,对于空值NULL的处理不同。有的会直接转为“”。

如果是“”就不会出错,如果是NULL自然就会出错。

也就是说,TEXT类型的空值会保留为NULL。


不光是TEXT会读出null,各种类型都可能读出来null。
你说varchar没有这个问题,倒真的奇怪了


↑返回目录
前一篇: 50分求测试session的结果,大家帮忙,感谢。。。
后一篇: 请问除了使用MS的JDBC驱动外,还有没有其它三方选择?感谢