【java】写字符界面执行的程序,里面更新数据库:插入记录,为什么明明执行成功,数据库里面却没有数据?

奇怪的是,我用同样的方法在图形界面里写,却可以正常更新,求原因啊!!~~~

第1个回答  2013-01-01
没有提交吧,是不是使用事务没有commit?追问

我直接用的preparedstatement,然后执行executeUpdate(),后面还加了一句输出“插入成功”,但是系统最后那句是执行了啊。。。。。我没有用事务。。。如果中间没有执行,它应该报错啊?

追答

试着加一下commit

追问

能不能,麻烦告诉我怎么写,写哪里?

追答

Connection con = DBConnector.getconecttion(); // 取得一个数据库连接
CallableStatement cst = null;
con.setAutoCommit(false);
String insertSql = "begin insert into TABLE (field_0,field_1) values (value_0,value_1) returning id into ?;end; ";
try {
cst = con.prepareCall(insertSql); //执行存储过程
cst.registerOutParameter(1, Types.INTEGER); //为存储过程设定返回值
int count = cst.executeUpdate(); //得到预编译语句更新记录或删除操作的结果
int id = cst.getInt(1); //得到返回值

System.out.println("成功执行了:" + count + "条数据,其ID值:" + id);
} catch (SQLException e1) {
con.rollback();
con.setAutoCommit(true);
}finally{
con.commit();
con.close();
}

JAVA向数据库添加数据后,在数据库看到数据添加成功,但在控制台查询却...
1、是否将这两个事务写成一个了;2、是否第一个事务执行后,没有提交(执行完后,查询数据库表是否存在数据,若无,事务未提交,若有,事务提交)。3、若上面能在数据库中查询到数据,建议检查查询数据的SQL是否错误。

JAVA 执行插入存储过程总返回false
你是没有弄清楚它的方法说明,就像上一楼说的,你没有弄清楚API 如果你要判断是否新增或作插入等操作是否成功,execute之后,你应该再调用 int tmp=cs.getUpdateCount()的方法(方法名应该没记错,就是返回你cs上一次操作时候改变的记录的数目),之后再return tmp>0即可 ...

为什么我的Java里执行SQL语句更新数据,不报错,但是数据库的内容没有...
大致看了下,你是用的ss创建的update语句,但是你执行的是ps那个,就是你的update语句并没有执行啊,你应该把 tc=ps.executeQuery();改为:ss.executeUpdate();

JAVA里面如何判断插入\/删除\/更新数据库是否成功
out.println("插入成功!");} catch(Exception ex){ out.println("插入失败!");}

java问题,高分悬赏!!!
pstmt.close(); \/\/关闭执行语句 con.close(); \/\/关闭连接语句 } catch (SQLException ex2) { \/\/捕获异常 } } return list; \/\/返回它的值,如果为真,则这个方法插入数据成功了. } } 下面是理论...完全是代码啊 第一步:在构造函数里面使用Class.forName加载驱动 第二步:在构造函数中使用DriverManager...

java链接access 数据库及时更新问题!插入数据后,马上查询却查不到刚插 ...
你确定数据真的已经插入成功了吗?应该是没有插入成功,所以才查不到,那么要解决的就是插入不成功的原因啦,你可能是先用Statement stmt=conn.createStatement(); 然后在一个循环里,用了stmt.execute();然后在循环外面,将其关闭,这样是不行的,应该是将其全都写在循环里,如:for(...;...;...

java 新增时 当数据库有这条记录,则提示新增失败并重新输入。当没有...
先验证数据是否存在DB中,再判断是否插入数据!典型的验证插入例子(俗称数据判重),做法,先将要插入DB中的数据放入DB去查询(建议所有条件都传),如果有对象返回则返回标志flg=true(表示有这条记录),根据flg去做逻辑判断就OK了!

用Java做一个简单的界面,连接到数据库(SQL Server),大家有没有具体的...
1、执行更新返回的是本次操作影响到的记录数。2、执行查询返回的结果是一个ResultSet对象。• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。• 使用结果集(ResultSet)对象的访问方法获取数据:while(rs.next()){ String name = rs.get...

需要一段用java写的游戏登陆界面要与数据库连接的代码
private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; \/ 数据库连接地址 DataBaseName=数据库名称 其它固定 \/ private static final String URL = "jdbc:sqlserver:\/\/localhost:1433;DataBaseName=bbs"; \/ 连接数据库的用户名 \/ private static final String USER = ...

java hibernate修改语句执行没有报错,但数据库也没有改变是怎么回事_百 ...
检查程序中配置的数据源,简单说就是程序有没有连错数据库 检查事务相关配置或编码,是不是没有提交事务

相似回答