Vb.net 在删除数据表中的所有条目之前,选择从返回旧值的计数(*)

Vb.net 在删除数据表中的所有条目之前,选择从返回旧值的计数(*),vb.net,oracle,select,count,Vb.net,Oracle,Select,Count,所以我在我的表中插入了一些数据,运行了一个Select Count(*)查询,并显示了结果,结果是120,然后我从sqldeveloper中删除了该表的数据,再次使用与以前相同的查询运行我的VB项目,只是为了测试它是否正常工作,出乎意料的是,它返回了与以前相同的值!尽管同样的Select Count查询从sqldeveloper返回0,但我已经关闭了项目并再次打开了它,没有任何更改。会发生什么 这是我的查询代码: sql.CommandText = "select count(*) from m

所以我在我的表中插入了一些数据,运行了一个Select Count(*)查询,并显示了结果,结果是120,然后我从sqldeveloper中删除了该表的数据,再次使用与以前相同的查询运行我的VB项目,只是为了测试它是否正常工作,出乎意料的是,它返回了与以前相同的值!尽管同样的Select Count查询从sqldeveloper返回0,但我已经关闭了项目并再次打开了它,没有任何更改。会发生什么

这是我的查询代码:

sql.CommandText = "select count(*) from mytable"
sql.CommandType = CommandType.Text
sql.Connection = conexion.con
test = Convert.ToInt32(sql.ExecuteScalar().ToString())
TextBox1.Text = test.ToString()
test是一个整数变量,我之所以将其转换为整数,是因为我想计算结果,并根据查询返回的数字决定要做什么


VB.NET 3.5和Oracle10g XE

我将自己回答这个问题,以防将来其他人遇到这个问题。事实上,正如评论员所说,在期望看到数据库中的任何实际更改之前,您必须提交在SQLdeveloper上所做的一切,就像这是一个实际的SQL事务一样


感谢那些对此发表评论的人。

你确定吗?这听起来不太可能;在会话中删除记录后,这些记录将在该会话中删除,直到您
回滚
,因此将返回不同的编号。在您提交之前,另一个会话不会看到删除(除非它是自治的)。这听起来像是您的代码中有一个bug(或者您正在删除0条记录),或者您正在从其他会话中进行选择,但尚未提交。看起来sqldeveloper中的自动提交模式已关闭。在您提交更改之前,其他会话(此处为您的应用程序)将看不到这些更改。您知道吗,我关闭了sqldeveloper,当关闭它时,它会询问您是否确实要回滚这些更改,我说不,然后再次运行VB项目,现在它确实显示了0,因此我猜它现在正在工作!我知道这一定是件傻事!谢谢大家!在SQLDeveloper中提交
Delete
事务,然后运行
selectcount(*)…