ASP.NET数据视图错误

ASP.NET数据视图错误,asp.net,sql,visual-studio-2010,compiler-errors,dataview,Asp.net,Sql,Visual Studio 2010,Compiler Errors,Dataview,我在ASP.NET中使用DataView时遇到一些问题。我的代码非常简单,我只想从名为COURSEINFO的MS Access表中提取信息,将信息放入数据集,并使用DataView作为GridView的源。我意识到只使用SQL数据源来填充GridView会更容易,但我想使用DataView以便以后可以扩展它 但是,这行代码给了我一个编译错误: dv=dv=ds.Tables(0).DefaultView 其中dv是我的数据视图,ds是我的数据集。错误发生在“=”,dv=ds.Tables(0)之

我在ASP.NET中使用DataView时遇到一些问题。我的代码非常简单,我只想从名为COURSEINFO的MS Access表中提取信息,将信息放入数据集,并使用DataView作为GridView的源。我意识到只使用SQL数据源来填充GridView会更容易,但我想使用DataView以便以后可以扩展它

但是,这行代码给了我一个编译错误:

dv=dv=ds.Tables(0).DefaultView

其中dv是我的数据视图,ds是我的数据集。错误发生在“=”,dv=ds.Tables(0)之后。DefaultView以蓝色下划线显示

奇怪的是,这段代码在几天前对我有效,我不知道为什么它不再有效了。我得到的错误是:“类型为'System.Data.DataView'的值无法转换为'WebApplication1.DataView'

这是我的密码:

    Dim connetionString As String
    Dim connection As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;" & "Data Source=|DataDirectory|\EXSpring2014.accdb")
    Dim command As OleDb.OleDbCommand
    Dim adapter As New OleDb.OleDbDataAdapter
    Dim sql As String = "Select * from COURSEINFO"
    Dim ds As DataSet = New DataSet
    Dim dv As DataView

    connection.Open()
    command = New OleDb.OleDbCommand(sql, connection)
    adapter.SelectCommand = command
    adapter.Fill(ds, "Create_DataView")
    adapter.Dispose()
    command.Dispose()
    connection.Close()
    dv = ds.Tables(0).DefaultView

        GridView1.DataSource = dv
当我实际尝试加载web表单时,HTML代码中出现了一个错误


最后,在处理此问题时,我生成了一个“DataView”最终不需要的方法存根。我认为这可能是一个原因,但我不知道该怎么办。

危险在于错误:

无法将“System.Data.DataView”类型的值转换为“WebApplication1.DataView”

编译器在这里试图解释什么

由于.Net framework坚持严格的类型化,它要求开发人员只为相同类型的变量赋值。我们无法将
列表
分配给
表单
,这是可以理解的。如果你尝试,你会看到类似的错误

当您将两种类型命名为相同类型时,就会出现混淆,在本例中为
DataView
。不能在同一命名空间中键入相同的命名类型,因此必须有两种
DataView
类型,它们确实存在:一种在命名空间
System.Data
中,另一种在命名空间
WebApplication1

代码中没有看到,但我必须假设您在web项目的某个地方创建了一个名为
DataView
的网页或其他类型。如果未明确指定名称空间,编译器将假定应使用当前名称空间中的类型

要解决这个编译错误,您只需执行explicit,而您希望变量执行explicit

dv
的类型更改为
System.Data.DataView
类型,所有这些都应该可以:

Dim dv As System.Data.DataView
阅读这篇文章,了解更多的背景知识