标题:JB与SQl连接的JTable在添加数据时为什么有重?
只看楼主
xxp5310776
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:49
专家分:1
注 册:2006-11-19
结帖率:100%
 问题点数:0 回复次数:14 
JB与SQl连接的JTable在添加数据时为什么有重?
请教高手,
数据库在regediter中userinfo_Data
谢谢了!
T3aHTSHu.rar (127.13 KB) JB与SQl连接的JTable在添加数据时为什么有重?


[此贴子已经被作者于2006-12-23 17:42:00编辑过]



o7lduPNw.rar (417.64 KB) JB与SQl连接的JTable在添加数据时为什么有重?

搜索更多相关主题的帖子: JTable SQl 数据 
2006-12-23 17:10
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
问题表述不清楚,别人没法帮你

可惜不是你,陪我到最后
2006-12-23 17:40
xxp5310776
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:49
专家分:1
注 册:2006-11-19
得分:0 
通过在界面添加一条记录,但在数据库表中变成2条!

2006-12-23 17:45
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
那就是你重复执行了两遍啦

你看看你的事件代码

可惜不是你,陪我到最后
2006-12-23 18:23
xxp5310776
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:49
专家分:1
注 册:2006-11-19
得分:0 

//添加数据
public boolean add(){
boolean flag=false;
try{
this.getConnection();
ps=con.prepareStatement("insert into userinfo values(?,?,?)");
ps.setString(1,getName());
ps.setString(2,getPassword());
ps.setString(3,getAddress());
rs=ps.executeQuery();
flag=true;
}catch(Exception ex){
ex.printStackTrace();
}
finally{
this.closeData();
}
return flag;



//调用代码

public void btadd_actionPerformed(ActionEvent e) {
database db = new database();
db.setName(this.txtyhm.getText().trim());
db.setPassword(this.txtmm.getText().trim());
db.setAddress(this.txtaddress.getText().trim());
if (db.getName().equals("")) {
JOptionPane.showMessageDialog(this, "用户名为空", "错误信息",
JOptionPane.ERROR_MESSAGE);
}
else {
if (db.getPassword().equals("")) {
JOptionPane.showMessageDialog(this, "密码为空", "错误信息",
JOptionPane.ERROR_MESSAGE);
}
else {
if (db.getAddress().equals("")) {
JOptionPane.showMessageDialog(this, "地址为空", "错误信息",
JOptionPane.ERROR_MESSAGE);
}
else {
if (db.search()) {
JOptionPane.showMessageDialog(this, "数据库中已经存在该用户名", "错误信息",
JOptionPane.ERROR_MESSAGE);
}
else {
db.add();
JOptionPane.showMessageDialog(this, "恭喜,添加成功", "弹出信息",
JOptionPane.INFORMATION_MESSAGE);
}

}
}
}

}


2006-12-24 19:39
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

db.search()

where is the code?


可惜不是你,陪我到最后
2006-12-24 19:44
xxp5310776
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:49
专家分:1
注 册:2006-11-19
得分:0 

//查找信息

public boolean search(){
boolean flag=false;
try{
this.getConnection();
ps=con.prepareStatement("select * from userinfo where name=?");
ps.setString(1,getName());
rs=ps.executeQuery();
if(rs.next()){
flag = true;
}
}catch(Exception ex){
ex.printStackTrace();
}
finally{
this.closeData();
}
return flag;
}


2006-12-24 19:51
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

你点击按钮时候
你先确定一下你的add方法执了几次

在add里面加一句输出语句看看

还有,你的插入数据应该用
ps.executeUpdate();


可惜不是你,陪我到最后
2006-12-24 20:07
xxp5310776
Rank: 1
来 自:湖北武汉
等 级:新手上路
帖 子:49
专家分:1
注 册:2006-11-19
得分:0 
add执行2次,在flag=true之前加了这句之后情况仍然没有改变

2006-12-24 20:15
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

你是不是为你的按钮加了两次事件监听器?


可惜不是你,陪我到最后
2006-12-24 20:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-111552-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054114 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved