.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Ado.NET 系列quiz

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

有一下代码,你可以copy 到本地的form中测试一下

   Dim dt As DataTable
    Dim dv As DataView

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  
        Dim drv As DataRowView = dv(0)

        drv.Delete()
        MsgBox(dt.Rows.Count)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        dt = New DataTable

        dt.Columns.Add("col1", GetType(String))
        dt.Columns.Add("col2", GetType(String))

        Dim dr As DataRow
        For i As Integer = 0 To 9
            dr = dt.NewRow
            dr(0) = i.ToString()
            dr(1) = i.ToString()
            dt.Rows.Add(dr)
        Next
        dt.AcceptChanges()
        dv = New DataView(dt)

    End Sub

 

你会发现,点击按钮的时候一直显示10,直到你点了11下后报错。

问题1.,为什么MsgBox(dt.Rows.Count) 总是返回10

问题2. 只要修改一行代码,就可以显示真实的记录数,你知道为什么吗?

 

问题其实很简单,你发现答案后就会对ADO.NET 的数据缓存机制有进一步认识。




相关文章

相关软件