ASP.NET数据视图错误
我在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' 这是我的密码: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)之
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
阅读这篇文章,了解更多的背景知识