新手求助一下,想用一个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);
}
}
下面是运行出来的图
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);
}
}
下面是运行出来的图
然后直接 test.getId() ,test.getName() 会有值?
String sql = "insert into users_xiey values('" + test.getId() + "','" + test.getName() + "')";
中的test.getId()是test对象的getId()。和你在main方法里面初始化的那个对象是不一样的吧,你main方法没贴出来,这是我的猜测
public void run() {
new Test().setVisible(true);
}
});
}
楼主我可以负责的告诉你这两个Test不是同一个对象
你可以将add增加一个Test参数
插入空记录说明test.getId()和test.getName()没有获取到值,对test没有其他操作只有new,那么需要看下Test的构造函数是怎么写的?是否在构造函数中就已经给jTextField1和jTextField2设置过内容?