jbutton点击 问题

owen22222222 2013-06-22 05:16:56
新手求助一下,想用一个jbutton的监听事件里调用另个类的add方法,把数据加到mysql中,但是发现,点完按钮数据库里加了一条空value值,不知道为什么? 希望大大们能帮我看一下, 下面是我的代码

这个是jbutton的监听事件
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
entity.add();
}

Entity entity = new Entity();

public void setEntity(Entity entity) {
this.entity = entity;
}

public String getId() {
return new String(jTextField1.getText());
}

public Entity getEntity() {
return entity;
}

public String getName() {
return new String(jTextField2.getText());
}
这个是add()方法
public void add() {
Statement stmt = null;
Connection conn = null;
try {
Test test = new Test();
conn = ConnectionUtils.getConnection();
stmt = conn.createStatement();
String sql = "insert into users_xiey values('" + test.getId() + "','" + test.getName() + "')";
stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionUtils.close(stmt);
ConnectionUtils.close(conn);
}


}


下面是运行出来的图


...全文
228 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
my_panpan 2013-06-24
  • 打赏
  • 举报
回复
引用
Test test = new Test(); String sql = "insert into users_xiey values('" + test.getId() + "','" + test.getName() + "')";
插入空记录说明test.getId()和test.getName()没有获取到值,对test没有其他操作只有new,那么需要看下Test的构造函数是怎么写的?是否在构造函数中就已经给jTextField1和jTextField2设置过内容?
owen22222222 2013-06-23
  • 打赏
  • 举报
回复
如果不new test的话,怎么才能调用到这个getId() 和 getName()呢?
zhangxm2015 2013-06-23
  • 打赏
  • 举报
回复
还有就是希望楼主把代码贴全,不然瞎猜很难帮到你
zhangxm2015 2013-06-23
  • 打赏
  • 举报
回复
引用 4 楼 owen22222222 的回复:
你数据表中空值下面的数据,是我自己加进去的,main方法应该没有问题的,都是同个对象吧 public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Test().setVisible(true); } }); }
引用 5 楼 owen22222222 的回复:
如果不new test的话,怎么才能调用到这个getId() 和 getName()呢?
楼主我可以负责的告诉你这两个Test不是同一个对象 你可以将add增加一个Test参数
owen22222222 2013-06-22
  • 打赏
  • 举报
回复
你数据表中空值下面的数据,是我自己加进去的,main方法应该没有问题的,都是同个对象吧 public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Test().setVisible(true); } }); }
zhangxm2015 2013-06-22
  • 打赏
  • 举报
回复
引用 2 楼 a1006570862 的回复:
你的sql语句:
 String sql = "insert into users_xiey values('" + test.getId() + "','" + test.getName() + "')";
中的test.getId()是test对象的getId()。和你在main方法里面初始化的那个对象是不一样的吧,你main方法没贴出来,这是我的猜测
支持楼上的!我还有点疑问,你数据表中空值下面的数据也是通过这个方法加进去的吗?
地下室森林 2013-06-22
  • 打赏
  • 举报
回复
你的sql语句:
 String sql = "insert into users_xiey values('" + test.getId() + "','" + test.getName() + "')";
中的test.getId()是test对象的getId()。和你在main方法里面初始化的那个对象是不一样的吧,你main方法没贴出来,这是我的猜测
oh_Maxy 2013-06-22
  • 打赏
  • 举报
回复
Test test = new Test(); 然后直接 test.getId() ,test.getName() 会有值?

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧