C#中,mdf数据库操作问题

以下(A),(B)都是将dataSet1.Tables[0]的第一条记录删除
(A)dataSet1.Tables[0].Rows.RemoveAt(0);
(B)dataSet1.Tables[0].Rows[0].Delete();

问题是:
1.(A),(B)有何驱别?
2.执行(A)后,再执行 Oda1.Update(dataSet1.Tables[0]);更新数据库后,重新打开数据库,第一记录还是没有被删除。
3.执行(B)后,再执行button1.Text = dataSet1.Tables[0].Rows[0][0].ToString(); 出错提示:不能通过已删除的行访问该行信息。

A是从数据集中移除那条数据,并没有对数据本身进行处理,所以用oda1.update之后,是不会对数据库中的数据进行删除的。
B中的delete则是对指定行做了删除标记,已经做了删除标记的行就不能再访问了(此时数据仍然在dataset中,这个操作是可以用RejectChanges撤消的),如果再执行AcceptChanges(),数据就会从dataset中删除。
数据状态的变化以及AcceptChanges之类的用法,可以参见
http://blog.csdn.net/td13560142839/article/details/7468387
http://www.douban.com/note/161997555/
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-29
dateset 是从数据库里面读取出来的数据。
dataSet1.Tables[0].Rows.RemoveAt(0);是删除该 dataset 中datatbale的 第一行的内的数据 并不是删除 数据库内的数据。RemoveAt 方法从父级的集合中移除位于指定索引值的子对象。
dataSet1.Tables[0].Rows[0].Delete();是将 dataset 中datatbale的 第一行 标记为删除,就是 RowState 变成“Deleted”。

下载的C#源代码中带有数据库操作,压缩文件中有个MDF文件,该怎么连接并...
我来说两句吧:首先你要看用户数据库中有没有跟你要附加的数据库重名的,如果有重名也会出错的.MDF是SQL server数据库的扩展名,现在大家用的比较多的还是SQL2005,所以我的个人意见是这个数据库很可能也是这个版本的.再就是你好好看看出错的时候上面写的提示,总有点看懂的地方 如果只知道一个MDF文件的...

在c#中连接数据库时出错:无法连接物理文件,操作系统错误32
提示信息已经说的很清楚了,“另一个程序正在使用此文件”。你先搞清楚mdf被谁占用先,就解决了一大半了。

C#中 与数据库连接的 绝对路径和相对路径的问题
相对路径 是”相对“当前路径而言的,所以需要知道当前的路径是什么,如果当前的路径都不确定的话就无法做,首先需要确定下当前的路径是什么。知道后 需要了解"..\\"这个符号的意思,两个点表示相对当前目录的父目录(上一级目录),需要再上一级的话就“..\\..\\”,然后后面跟其文件或子目录。例如d...

c#连接不到sql sever数据库是为什么
回答:楼主你好: 我们最初接触数据库,以为只要将数据库文件MDB.mdf放在windows窗体项目的debug文件夹下就可以了,就是跟项目生成的可执行程序放在同一文件夹下就可以了,然后运行可执行文件,点击按钮就能连接到那个文件。然而实则不然,必须将MDB.mdf附加到SSMS服务器上才行,其实MDB.mdf的路径倒是次要的,所以...

C#SQL数据库文件连接问题
Data\\RentManage_Data.MDF不明关键字一个,";Integrated Security=True;User Instance=True"再一个字符串。所以改法很简单,"C:\\Users\\Cy\\Documents\\Visual Studio 2008\\Projects\\RentManage\\RentManager\\App_Data\\RentManage_Data.MDF"这两个双引号改成单引号,或者各改成两个双引号。

C#怎样才能直接使用.MDF文件???
放在程序的App_Date文件夹里头,然后即使程序换了地方,不用去新建数据库还是能够运行?SqlConnection conn = new SqlConnection("Data Source=.\\\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\\\数据库名称.mdf;Integrated Security=True;User Instance=True");\/\/这里使用的是附加的数据库 ...

c# 连接sdf
在VS2005中打开视图\/服务器资源管理器 数据连接(右键)\/添加连接 如果d:\\\\student.mdf已经添加到数据库的话 就选择Micosoft SQL Server,再选择自己要连接的数据库 如果d:\\\\student.mdf没有添加到数据库的话 可以选择Micosoft SQL Server数据库文件 ...

c# 连接数据库的问题:不支持关键字: “trusted connection
我试过的,支持这个关键字,你的sql是sqlserver吗?如果是sqlserver,换成integrated security=true也是一样的。

C# 直接使用mdf文件
不可能的 没得SQL SERVER服务 怎么可能用到数据库 我占是还没发现有这个功能哈 就算你把程序写好后 封装成软件了 给用户用了 同样用户也需要装 sql sever服务器的 毕竟 .NET 和数据库服务是两个东西 还没集成到一块去

C#中项目中建立的mdf文件是不是就是建立在本地与该项目相关的数据库文...
与项目相关与否是人为定义的,实际mdf文件并没有和C#项目有直接依赖关系,但是便于管理通常会将数据库文件建立在项目目录下

相似回答