首页 > 编程知识 正文

jsp连接数据库的奇怪有关问题(jsp连接数据库失败)

时间:2023-12-24 12:05:40 阅读:320742 作者:LFWZ

本文目录一览:

在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;

这样你就可以解决问题了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。