本文目录一览:
在jsp中连接数据库出错
ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
你的sql驱动包没有在发布的时候引入
JSP页面上连接数据库结果出错
报错是
到主机
的
tcp/ip
连接失败。你下面的链接串我不确定有没有写错。你用的是sql2005吗?你在你本地数据库用sa用户登陆。之后应该有个什么管理的。然后你去把tcp/ip给启动。我记得我以前用的时候这个tcp/ip默认貌似是没有启用的
jsp连接数据库时出现了问题。
哈哈,别听前面的,如果是前面说的:
"对数据库操作是用PreparedStatement接口,不是用Connection "
如果这样,根本不可能有异常出现,只是报告错误而已.因为异常是运行的时候出现的,而错误是编译器编译的时候告诉你的.
很明显:java.lang.NullPointerException 是异常.而不是错误!
你的sql有问题:
你的sql:
ResultSet rs=Condb.executeQuery("select *from admin where name="+admin_name+"and password="+password+"");
假设: admin_name="123", password="123"
那么你的sql 将是:
select *from admin where name=123and password=123
问一下你,这样的sql能运行吗?
所以在14行rs仍然指向为空,能没有java.lang.NullPointerException 异常吗?
严格的来说,我们一般将if语句的条件写为:
if(rs!=nullrs.next())
看到了吗?如果rs为空,后面的next方法不会被执行,就不会有java.lang.NullPointerException 异常发生了,你要知道你的sql可能在数据库内找不到信息!在找不到信息的时候不这样写一样会有java.lang.NullPointerException 异常出现!
你的sql错误在这里:
1.如果数据库里面的name列和password列不是数值型的话就一定出错,因为少了''将他们括起来.
2. '*' 号没有和from 分开,and前面要有一个空格,刚开始写肯定是很多错误的了,我也是一样的.
所以应该改为:
ResultSet rs=Condb.executeQuery("select * from admin where name='"+admin_name+"' and password='"+password+"'");
如果你觉得这样很麻烦的话,可以考虑用java.sql.PreparedStatement接口.
例如:
try
{
PreparedStatement ps=cn.prepareStatement"select * from admin where name=? and password=?");//假设cn为你的Connection对象
/*如果你使用的是int型的数据,请这么写:
ps.setInt(1,2);//设置第一个?号为一个整数2
*/
ps.setString(1,admin_name);//设置第一个?为字符串变量admin_name的值
ps.setString(2,password);//设置第二个?为字符串变量password的值
rs=ps.executeQuery();//假设rs为ResultSet对象
.......
}catch(SQLException ex)
{
ex.printStackTrace(); //强烈建议你写这个,因为他能打印异常的具体信息,提供给你调试用!
}
关于JSP连接数据库的问题
你的驱动类型不对吧,重新下载一个ms sqlServer的连接驱动,我想问题就会解决的。
jsp连接sql数据库出现问题!
地球人都知道是空指针异常啦,可能的原因是用来返回连接数据库得到的结果集为null(可能是SQL语句编写错误)当然不一定是数据库连接相关对象为空。老兄,你仔细看一下代码,出现空指针异常一般是一个值为null的对象被操作,举个简单的例子如:String
str
=
null;
boolean
equ
=
str.equals("str");就会出现空指针异常
你可以通过手动修改代码来调试,(接上面的例子)如:
String
str
=
null;
boolean
equ;
if(str
==
null){
System.out.println("对象str为空");
return;
}else{
equ
=
str.equals("str");
}
这里System.out.println("对象str为空");语句可以理解为日志信息,告诉你是哪个对象为null;
这样你就可以解决问题了