一个关于数据库连接的问题

binghuo007 2006-04-06 12:12:14
代码运行后在表中不能添加数据,请帮忙看一下是怎么回事,拜托了,多谢!
package jdbcdemo;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;

/**
*
* @author FC
*/
public class Applicant extends JFrame{
JPanel panel=new JPanel();
JLabel label1=new JLabel("ID");
JLabel label2=new JLabel("Name");
JLabel label3=new JLabel("Address");
JLabel label4=new JLabel("Position");
private JTextField textID=new JTextField(8);
private JTextField textName=new JTextField(8);
private JTextField textAddress=new JTextField(30);
String position[]={"市场部经理","市场咨询人员","会计"};
JComboBox box=new JComboBox(position);
private JButton buttonSubmit=new JButton("提交");
private JButton buttonReset=new JButton("重置");
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:con_java";
String user="sa";
String password="hanjian";
String recid=this.textID.getText();
String recname=this.textName.getText();
String recaddress=this.textAddress.getText();
String recposition=(String)box.getSelectedItem();
/** Creates a new instance of Applicant */
public Applicant() {
this.getContentPane().add(panel);
panel.add(label1);
panel.add(textID);
panel.add(label2);
panel.add(textName);
panel.add(label3);
panel.add(textAddress);
panel.add(label4);
panel.add(box);
panel.add(buttonReset);
panel.add(buttonSubmit);
ActionListener a=new MyAction();
buttonSubmit.addActionListener(a);
buttonReset.addActionListener(new MyAction());
setSize(400, 400);
setVisible(true);
setDefaultCloseOperation(3);
}
class MyAction implements ActionListener{
public void actionPerformed(ActionEvent e){
Object obj=e.getSource();
if(obj==buttonSubmit){
if(textID.getText().length()==0){
JOptionPane.showMessageDialog(null,"ID不能为空");
}
else if (textName.getText().length()==0){
JOptionPane.showMessageDialog(null ,"姓名不能为空");
}
else if (textAddress.getText().length()==0){
JOptionPane.showMessageDialog(null,"地址不能为空");
}
try{
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,user,password);
Statement st=conn.createStatement();
String sql1="insert into Applicant values('"+recid+"','"+recname+"','"+recaddress+"','"+recposition+"')";
st.executeUpdate(sql1);
JOptionPane.showMessageDialog(null ,"信息添加成功");
}
catch(Exception a){
System.out.println("error"+a);
}
}
if(obj==buttonReset){
textID.setText("");
textAddress.setText("");
textName.setText("");
}


}

}
public static void main(String args[]){
new Applicant();
}

}
...全文
137 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fifotom 2006-04-06
  • 打赏
  • 举报
回复
String recid=this.textID.getText();
String recname=this.textName.getText();
String recaddress=this.textAddress.getText();
String recposition=(String)box.getSelectedItem();

把这一段代码中的this去掉在放到内部类class MyAction implements ActionListener的事件处理函数中。
这样试试,如果还不行的,检查检查你的数据库连接是否有问题。

因为这段代码执行的时候Applicant的this对象还没有构造完毕,而且textID,textName.textAddress,box肯定都还没有输入值。
interpb 2006-04-06
  • 打赏
  • 举报
回复
不能添加时什么概念 有异常 ?
caianheng123 2006-04-06
  • 打赏
  • 举报
回复
我店里现在搞特价,质量有保证!买移动硬盘请选择我们绝对不后悔,你的最好选择。就在这【领先数码商城】移动硬盘专卖店:http://shop33473501.taobao.com/希望各位在解决问题的同时能够去逛下我的店,打搅了各位!!
netsummer123 2006-04-06
  • 打赏
  • 举报
回复
String url="jdbc:odbc:con_java";
好像数据库都没连接上把
fashi1000 2006-04-06
  • 打赏
  • 举报
回复
b把 SQL 语句输出来看看是不是数据没取到
把SQL语句在查询分析器里执行一下
应该就能搞清楚是什么问题了
johnlxf 2006-04-06
  • 打赏
  • 举报
回复
建议把运行结果给贴出来

62,625

社区成员

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

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