java - 帮忙看看这段代码错在哪了?
阿神
阿神 2017-04-18 09:14:03
[Java讨论组]
DataSource datasource;
BufferedReader d=new BufferedReader(new InputStreamReader(System.in));
String bookname;
while(!("exit".equals(bookname = d.readline()))){
    Connection con = datasource.getConnection()
    Statement stmt = con.createStatement();
    ResultSet res = stmt.executeQuery("select * from testtable where bookname= '" + bookname + "'"); 
    if(res.next()){
        System.out.println("价格为:"+res.getDouble("price"));
    }//if 结束
}//while 结束
阿神
阿神

闭关修行中......

全部回复(3)
怪我咯

貌似你的代码编译都不通过, DataSource 变量都没初始化,第二是你的写法有问题,居然在 while 循环中去获得连接。最好把获得 Connection 放到 while 外面。

PHPz

如果楼主能贴出报错信息,那就更直观了。
不过也能看出这段代码会抛出空指针异常NullPointerException
DataSource dataSource;
这里只声明了dataSource,还没对其赋值。
而后面的代码直接调用了dataSource.getConnection()
难免空指针。

天蓬老师

空指针异常很明显,但最大的问题是while循环里面创建连接而且没释放!

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号