| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 700 人关注过本帖
标题:JB与SQl连接的JTable在添加数据时为什么有重?
收藏  订阅  推荐  打印 
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19
JB与SQl连接的JTable在添加数据时为什么有重?

请教高手,
数据库在regediter中userinfo_Data
谢谢了!

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

附件: 只有本站会员才能下载或查看附件,请您 登录注册
搜索更多相关主题的帖子: JTable  SQl  数据  
2006-12-23 17:10
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

问题表述不清楚,别人没法帮你

可惜不是你,陪我到最后
2006-12-23 17:40
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19

通过在界面添加一条记录,但在数据库表中变成2条!

2006-12-23 17:45
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

那就是你重复执行了两遍啦

你看看你的事件代码

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

//添加数据
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: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

db.search()

where is the code?


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

//查找信息

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: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

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

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

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


可惜不是你,陪我到最后
2006-12-24 20:07
xxp5310776
Rank: 1
来自:湖北武汉
等级:新手上路
帖子:34
积分:440
注册:2006-11-19

add执行2次,在flag=true之前加了这句之后情况仍然没有改变

2006-12-24 20:15
千里冰封
Rank: 12Rank: 12Rank: 12
来自:灌水之王
等级:版主
威望:155
帖子:28360
积分:4616
注册:2006-2-26

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


可惜不是你,陪我到最后
2006-12-24 20:56
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.075897 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved