这是关于JAVA编程的问题 我们要做一个学生管理的程序,用图形界面和数据库做,这是老师给的代码,插入数据

就是如果数据库已经有此信息,就提醒重新插入。本人能力有限请大师指点帮我加点代码灰常感谢··packagedbtest;importjava.awt.event.Actio... 就是如果数据库已经有此信息,就提醒重新插入。本人能力有限 请大师指点 帮我加点代码 灰常感谢··
package dbtest;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class InsertJpanel extends JPanel implements ActionListener {
private JButton jButton1;
…}
public InsertJpanel() {
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel();
jTextField1 = new JTextField(20);
jTextField2 = new JTextField();
jTextField3 = new JTextField();
jTextField4 = new JTextField();
jButton1 = new JButton();
jButton2 = new JButton();
db = new DBAccess();
setLayout(null);
jLabel1.setText("学号:");
jLabel1.setBounds(90, 40, 60, 24);
add(jLabel1);
jLabel2.setText("姓名:");
add(jLabel2);
jLabel2.setBounds(90, 100, 60, 24);
jLabel3.setText("成绩:");
add(jLabel3);
jLabel3.setBounds(90, 160, 60, 24);

jLabel4.setText("班级:");
add(jLabel4);
jLabel4.setBounds(90, 220, 60, 24);
jTextField1.setBounds(160, 40, 116, 30);
add(jTextField1);
jTextField2.addActionListener(this);
jTextField2.setBounds(160, 100, 116, 30);
add(jTextField2);
jTextField3.addActionListener(this);
jTextField3.setBounds(160, 160, 116, 30);
add(jTextField3);

jTextField4.addActionListener(this);
jTextField4.setBounds(160, 220, 116, 30);
add(jTextField4);

jButton1.setText("提交");
jButton1.addActionListener(this);
add(jButton1);
jButton1.setBounds(90, 280, 73, 33);
jButton2.setText("重置");
jButton2.addActionListener(this);
add(jButton2);
jButton2.setBounds(180, 280, 113, 33);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String insersql = "insert into stu (id,name,score,class) values(";
insersql += jTextField1.getText().trim();
insersql += ",'" + jTextField2.getText().trim() + "'";
insersql += "," + jTextField3.getText().trim() + "";
insersql += ",'" + jTextField4.getText().trim() + "')";
db.executeSql(insersql);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
}
public void actionPerformed(java.awt.event.ActionEvent evt) {
if (evt.getSource() == jButton1) {
this.jButton1ActionPerformed(evt);
} else if (evt.getSource() == jButton2) {
this.jButton2ActionPerformed(evt);
}
}
}
展开
 我来答
此去不必敛衣冠
2012-12-03 · TA获得超过1103个赞
知道小有建树答主
回答量:1143
采纳率:33%
帮助的人:283万
展开全部
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

/*在这做一个查询sql 具体你们是用的什么数据库我没看出来额。如果ID是主键,应该有db。get(id)这个方法的*/
示例:

Object object =db.get(Integer.parseInt(jTextField1.getText().trim()));
if(object==null){//如果通过这个ID获取的值为null,表示数据库当然还没有这条数据

String insersql = "insert into stu (id,name,score,class) values(";
insersql += jTextField1.getText().trim();
insersql += ",'" + jTextField2.getText().trim() + "'";
insersql += "," + jTextField3.getText().trim() + "";
insersql += ",'" + jTextField4.getText().trim() + "')";
db.executeSql(insersql);
}else{
/*返回提示数据库已经存在当前数据,当然,你可以用where查询把name和score和class条件都附加到一起。数据更合理更准确,有可以相同ID做修改操作额*/

}
}
提示到这里如果你连基本的查询sql都不会写的话。别学java了...真心奉劝.
wcsfire234
2012-12-03 · TA获得超过672个赞
知道小有建树答主
回答量:737
采纳率:0%
帮助的人:224万
展开全部
你在数据库里面的字段上加上唯一验证,然后在提交的时候 就是 db.executeSql(insersql); 外边 加个cry catch吧.

不然的话 你只有自己取出来做比较了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
岁月忐忑如歌
2012-12-03 · TA获得超过484个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:53.7万
展开全部
建议自己做 这样才能真正学习到知识
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式