注册 登录
编程论坛 ASP.NET技术论坛

[求助]提示类型不能转换,但是这可是例题呀。

xiaofkg 发布于 2007-11-03 14:37, 1338 次点击

Imports System.Data
Imports System.Data.SqlClient
Partial Class datatable
Inherits System.Web.UI.Page

Protected Sub Page_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim con As SqlConnection
Dim str As String
Dim ds As New DataSet
Dim coldrow As DataRowCollection
Dim drow As DataRow
Dim init As Integer
str = "Data Source=.;Initial Catalog=sheet;Integrated Security=true;"
con = New SqlConnection(str)
con.Open()
Dim ada As New SqlDataAdapter("select * from test", con)
ada.Fill(ds, "test")
Dim dtable As New datatable
dtable = ds.Tables("test")
coldrow = dtable.rows
For init = 0 To coldrow.Count - 1
drow = coldrow.Item(init)
lbl.Text = lbl.Text & "id" & drow(0)
lbl.Text = lbl.Text & "dealer" & drow(1)
lbl.Text = lbl.Text & "areaBig" & drow(2)
lbl.Text = lbl.Text & "areaSmall" & drow(3)
Next

gv.DataSource = ds.Tables("test").DefaultView
gv.DataBind()
con.Close()
con = Nothing
lbl.Text = lbl.Text & "查找成功"

End Sub
End Class



为什么总是提示错误 1 类型“System.Data.DataTable”的值无法转换为“datatable”。
错误 2 “rows”不是“datatable”的成员。 请各位看看。。。

11 回复
#2
guoxhvip2007-11-03 15:26
VB
#3
xiaofkg2007-11-03 15:29
是vb,楼主看看里面有什么问题,谢谢了。。。
#4
冰彩虹2007-11-03 15:44
Dim dtable As New DataTable
#5
xiaofkg2007-11-03 21:06
但是自动完成是填写Dim dtable As New  datatable,4楼楼主解答一下
#6
guoxhvip2007-11-03 23:07
我试了 也是这样 强用DataTable也报错 不过我是直接粘的LZ的代码改 不知道改了过后到底是因为哪的原因还报错
#7
ta86072007-11-04 10:11
Partial Class datatable是这里有问题吧.
我试了一下.没有加这个的时候是可以显示Dim dtable As New DataTable
但是加了Partial Class datatable就变成了Dim dtable As New datatable
你改一下类名了
#8
xiaofkg2007-11-04 15:27

谢谢以上各位,不过你们的方法还是不能解决问题。能不能在想想

#9
冰彩虹2007-11-04 19:33
Partial Class datatable

你把datatable换个别的名字看看

另外Dim table As New datatable;后
应该是这样的吧coldrow = table.Rows;而不是table.rows

#10
xiaofkg2007-11-05 14:03
冰彩虹版主,谢谢了。真是慧眼呀。问题就是你说的,拜谢了。
#11
xiaofkg2007-11-05 15:02

我现在把正确的代码贴出来 ,供大家参考
Imports System.Data
Imports System.Data.SqlClient
Partial Class Default2
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim con As SqlConnection
Dim str As String
Dim ds As New DataSet
Dim coldrow As DataRowCollection
Dim drow As DataRow
Dim init As Integer
str = "Data Source=.;Initial Catalog=sheet;Integrated Security=true;"
con = New SqlConnection(str)
con.Open()
Dim ada As New SqlDataAdapter("select * from test", con)
ada.Fill(ds, "test")
Dim dtable As New DataTable
dtable = ds.Tables("test")
coldrow = dtable.Rows
For init = 0 To coldrow.Count - 1
drow = coldrow.Item(init)
lbl.Text = lbl.Text & "id" & drow(0)
lbl.Text = lbl.Text & "dealer" & drow(1)
lbl.Text = lbl.Text & "areaBig" & drow(2)
lbl.Text = lbl.Text & "areaSmall" & drow(3) & "<br>"
Next
dtable.AcceptChanges()

gv.DataSource = ds.Tables("test").DefaultView
gv.DataBind()
con.Close()
con = Nothing

End Sub

#12
ta86072007-11-06 08:19
我晕了!!!!
1