为了账号安全,请及时绑定邮箱和手机立即绑定

帮忙看看这段代码错在哪了?

帮忙看看这段代码错在哪了?

侃侃无极 2019-03-11 12:15:04
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 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

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


查看完整回答
反对 回复 2019-04-19
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

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

查看完整回答
反对 回复 2019-04-19
?
呼如林

TA贡献1798条经验 获得超3个赞

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


查看完整回答
反对 回复 2019-04-19
  • 3 回答
  • 0 关注
  • 478 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信