java插入数据到MYSQL数据库问题 20
publicvoidAdd1(){Stringsnumber=JTNumber.getText();Stringsname=JTName.getText();String...
public void Add1(){
String snumber=JTNumber.getText();
String sname=JTName.getText();
String ssex=JTSex.getText();
String sbir=JT1.getText();
String shometown=JT2.getText();
String snation=JT3.getText();
String sstatus=JT4.getText();
String smarrage=JT5.getText();
String seducation=JT6.getText();
String sposition=JT7.getText();
String smobile=JT8.getText();
String saddress=JT9.getText();
//String sql="insert into employee(员工编号,姓名,性别,出生日期,籍贯,民族,政治面貌,婚姻,毕业院校,职位,联系电话,家庭住址) values ("+snumber+","+sname+","+ssex+","+sbir+","+shometown+","+snation+","+sstatus+","+smarrage+","+seducation+","+sposition+","+smobile+","+saddress+")";
if(snumber.length()==0||sname.length()==0||ssex.length()==0||sbir.length()==0||shometown.length()==0||snation.length()==0||sstatus.length()==0||smarrage.length()==0||seducation.length()==0||sposition.length()==0||smobile.length()==0||saddress.length()==0)
JOptionPane.showMessageDialog(this,"请添加完全信息");
else{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/hrms?"+ "user=root&password=root");
Statement stmt=con.prepareStatement("insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+seducation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
JOptionPane.showMessageDialog(this,"添加成功!");
clear();
con.close();
stmt.close();
}
catch(ClassNotFoundException f){
f.printStackTrace();
}
catch(SQLException e){
System.out.println("E Code"+ e.getErrorCode());
System.out.println("E M="+e.getMessage());
}/*
catch(Exception e)
{
e.printStackTrace();
}*/
}
}
以上代码调试能运行,就是输入的数据数据库里没有 展开
String snumber=JTNumber.getText();
String sname=JTName.getText();
String ssex=JTSex.getText();
String sbir=JT1.getText();
String shometown=JT2.getText();
String snation=JT3.getText();
String sstatus=JT4.getText();
String smarrage=JT5.getText();
String seducation=JT6.getText();
String sposition=JT7.getText();
String smobile=JT8.getText();
String saddress=JT9.getText();
//String sql="insert into employee(员工编号,姓名,性别,出生日期,籍贯,民族,政治面貌,婚姻,毕业院校,职位,联系电话,家庭住址) values ("+snumber+","+sname+","+ssex+","+sbir+","+shometown+","+snation+","+sstatus+","+smarrage+","+seducation+","+sposition+","+smobile+","+saddress+")";
if(snumber.length()==0||sname.length()==0||ssex.length()==0||sbir.length()==0||shometown.length()==0||snation.length()==0||sstatus.length()==0||smarrage.length()==0||seducation.length()==0||sposition.length()==0||smobile.length()==0||saddress.length()==0)
JOptionPane.showMessageDialog(this,"请添加完全信息");
else{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/hrms?"+ "user=root&password=root");
Statement stmt=con.prepareStatement("insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+seducation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
JOptionPane.showMessageDialog(this,"添加成功!");
clear();
con.close();
stmt.close();
}
catch(ClassNotFoundException f){
f.printStackTrace();
}
catch(SQLException e){
System.out.println("E Code"+ e.getErrorCode());
System.out.println("E M="+e.getMessage());
}/*
catch(Exception e)
{
e.printStackTrace();
}*/
}
}
以上代码调试能运行,就是输入的数据数据库里没有 展开
4个回答
展开全部
觉得你没调用stmt.executeUpdate();这句吧,你可以改成我下面的形式试试。在这之前你得确认连接上数据库了吗?如果你打印con取到了值(或者单步调式看con取到了值)。然后将insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+seducation+"','"+sposition+"','"+smobile+"','"+saddress+"')");
改成insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values (?,?,?,?,?,?,?,?,?,?,?,?)");
然后这样子做:
stmt.setString(1,值);
stmt.setString(2,值);
直至塞完你要插入的值,如果是int的,里面也有stmt.setInt(3,值);
还有float的就有stmt.setFloat(4,值);总之,你想赛什么样的值它都有方法的。
然后你再调用stmt.executeUpdate();就OK了
都给你说了没调用stmt.executeUpdate();
怎么不去试试调用stmt.executeUpdate();呢,调了后没有再找我!
改成insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values (?,?,?,?,?,?,?,?,?,?,?,?)");
然后这样子做:
stmt.setString(1,值);
stmt.setString(2,值);
直至塞完你要插入的值,如果是int的,里面也有stmt.setInt(3,值);
还有float的就有stmt.setFloat(4,值);总之,你想赛什么样的值它都有方法的。
然后你再调用stmt.executeUpdate();就OK了
都给你说了没调用stmt.executeUpdate();
怎么不去试试调用stmt.executeUpdate();呢,调了后没有再找我!
展开全部
楼主想问什么问题
大概看了下代码没有什么太严重的错误。
大概看了下代码没有什么太严重的错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这代码怎么啦?不知道你要问的什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、确保你的数据库连接时正确的(如果连接不上:1、驱动包是否导入?驱动包的版本是否正确?可换个包试试.2、数据库是否在本地,如果不在本地,root用户是不能连接的。3、数据库服务是否启动)
2、插入的值类型是否跟数据库中定义的字段类型匹配
一般可从错误信息中看到错误的原因,如果还是不行,是否可以把错误信息发上来,这样更助于别人帮助你。
2、插入的值类型是否跟数据库中定义的字段类型匹配
一般可从错误信息中看到错误的原因,如果还是不行,是否可以把错误信息发上来,这样更助于别人帮助你。
参考资料: brain
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询