读书人

请教access的纪录为何没有被真正删除

发布时间: 2012-01-23 21:57:28 作者: rapoo

请问access的纪录,为何没有被真正删除
这些代码被写在了窗体的按钮事件中
try
{
int rst = -1;
string mycon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb ";
string temp = "delete * from [user] where userid=1 ";
this.oleDbConnectionTest.ConnectionString = mycon;
this.oleDbConnectionTest.Open();
MessageBox.Show(temp);
oleDbCommandTest.CommandType = CommandType.Text;
oleDbCommandTest.CommandText = temp;
oleDbCommandTest.Connection = oleDbConnectionTest;
oleDbDataAdapterTest.DeleteCommand = oleDbCommandTest;
rst = oleDbDataAdapterTest.DeleteCommand.ExecuteNonQuery();
MessageBox.Show( "delete result " + rst);
this.oleDbConnectionTest.Close();
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
}
删除语句执行成功了。当时察看数据库中的userid=1的用户的确被删除。
但是,当再次程序被运行后,但还没有按删除按钮的时候,察看数据库,
发现,userid=1的用户仍然在数据库中。
请问,这是怎么回事?如何解决呢。
谢谢。


[解决办法]
当时察看数据库中的userid=1的用户的确被删除

——你进入数据库查看了??如果数据库中被删除了,只有一种可能,你启动程序,又加入了

==================================================================
博客空间:http://blog.csdn.net/lovingkiss
资源下载:http://download.csdn.net/user/lovingkiss
优惠接单开发,组件控件定制开发,成品源代码批发
联系方式:Q64180940 全天在线
==================================================================
------解决方案--------------------


这应该怎么说呢.其实这个问题只有在开发的时候才会出现的.你进bin\Debug,它操纵的实际上是这里的数据库.正常情况,删除的是这里数据库中的记录.你可以看下.
[解决办法]
而读取的时候却是读取你根目录里的那个数据库表.也就是说在读取和增删改的时候操作的不是同一个数据库

读书人网 >C#

热点推荐