java 点击按钮时连接数据库

给端中间的代码,点击jButton1时,获得用户名框输入的文本并对其在数据库中进行匹配。如果没有输出“用户名不存在”,编译时没问题,运行时界面也都有,只是点击按钮时会抛出... 给端中间的代码,点击jButton1时,获得用户名框输入的文本并对其在数据库中进行匹配。如果没有输出“用户名不存在”,编译时没问题,运行时界面也都有,只是点击按钮时会抛出Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 错误。为什么?
private JButton getJButton1()
{
if (jButton1 == null)
{
jButton1 = new RButton();
jButton1.setText("登录");
jButton1.addMouseListener(new LoginEvent());

}
return jButton1;
}
class LoginEvent extends MouseAdapter
{
private Connection con = null;
Statement st = null;
ResultSet rs = null;
public void mouseClicked(MouseEvent eee)
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException ee)
{
ee.printStackTrace();
System.out.println("加载驱动错误");
}
try
{
String url = "jdbc:mysql://localhost:3306/test?user=root&password=123456";
Connection con = DriverManager.getConnection(url);
}
catch (Exception evt)
{
evt.printStackTrace();
System.out.println("链接错误");
}

try
{
String a = jTextField.getText().trim();//用户名
st = con.createStatement();
rs = st.executeQuery("select * from useinfo where username = '"+a+"'");
int rows = rs.getRow();
if (rows == 0)
{ System.out.println("用户名不存在"); }

rs.close();
st.close();
con.close();
}
catch (SQLException ev) { }
}
}
-----------------------------------------------------
换了另一种方法,可以用了,不过谁能告诉我上面为什么错了。错的地方在LoginEvent.mouseClicked
------------------------------------------------------
回复1楼,a,b 都有取到,不是这个原因,刚才把
int rows那段改了下,直接用rs.next()判断,又都能用了,不知道问什么~~~
---------------------------------------------------------
终于找出问题了,我在数据库连接时try { Connection con = ...}但是con在外面已经定义了,所以实际上在查询匹配时的con并没有连接,也就不能进行数据库查询,只要在try里吧Connection去掉就行了,主要是这段代码是从另一个java里直接拉过来没注意到,还有最上面的Connection不是private,我忘删了~
-----------------------------------------------------------
既然搞定了,分就给你吧~
展开
 我来答
666小橙子666
2009-06-03 · 超过25用户采纳过TA的回答
知道答主
回答量:189
采纳率:0%
帮助的人:50.1万
展开全部
这是空指针,意味着没有取到值,你要判断一下 对于a if(a!=null) a= jTextField.getText().trim();试试啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式