java中我使用SQL插入语句,为什么我直接插入到数据库不行,必须要查询下才能在表中显示?

Connection con;
Statement sql;
ResultSet rs;
String commd;
String commd1;
{ con=DriverManager.getConnection("jdbc:odbc:node","","");
sql=con.createStatement();
commd="INSERT INTO node VALUES('"+ address+"','"+ availableprocessors+"','"+freememory+"','"+maxmemory+"','"+ totalmemory+"');" ;
sql.executeUpdate(commd);
//commd1="SELECT * FROM node";
//rs=sql.executeQuery(commd1);//把这两个注释掉就插不进。。。。
sql.close();
}
catch(SQLException ee){System.out.println(""+ee);}
“我邹是想知道 ”这位大虾,阿能文明点?程序没有全部弄上去,你给个邮箱吧,我把完整的发给你,加个";" 分号不影响的。。。

按照你的代码,到sql.executeUpdate(commd);就已经完成了数据的插入。
建议你定义一个 int a= sql.executeUpdate(commd);然后看看a输出的是什么,如果是a为1,表明插入就是成功的。
在你的程序运行完后,再去库里查看的时候应该是有你插入的数据的。
要是没有,刷新一下再看看!
希望对你有帮助哦!追问

首先谢谢了,您的方法我以前试过了,a是等于1的。我想把完整程序发给大家看看,需要的给个邮箱,谢了~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-05
con.commit() ,提交操作。

如果不提交的话,你的查询能查到插入的数据是因为你的插入和查询是在同一个事务。但实际上只要不调用con.commit()方法,操作都没有被数据库保存。追问

我试过了,还是不行啊,就是如果不用rs=sql.executeQuery(commd1)语句的话,数据库表中还是找不到插入的信息,见鬼了,用了就可以。。。

追答

你二啊,你是怎么找不到插入的记录

追问

就是数据库的表中看不到呗,你三岁啊,看不懂上面的话?!和还好意思骂人?先学会文明吧。。。
不过还得谢谢你,因为你至少帮过我,虽然没用。。。

追答

麻烦你学习学习语文,提高一下表达能力好不好。
access 在操作的时候会被锁定。
你按以下步骤来
1、在access文件关闭的情况下跑你的程序。
2、打开access文件看那张表里的数据有没有被插进去

追问

大哥,真得没有啊?不过真的谢了,不吵不相识,要不给个邮箱,你来试试吧?

追答

我艹,你个二货。
commd="INSERT INTO node VALUES('"+ address+"','"+ availableprocessors+"','"+freememory+"','"+maxmemory+"','"+ totalmemory+"');"
你在最后加个";" 分号干什么,等下一句SQL啊?

而且连try都没有,咋加的catch

本回答被提问者采纳
第2个回答  2011-08-05
数据库刷新了?追问

我用的数据库是access 2003,以前都没遇到这种情况的,弄得我头晕。。

相似回答