DS问题,,那里错了,'System.Data.DataTableCollection' 弄了半天都没有解决

sun8087 2005-05-30 12:24:49
下面的代码的意思,就是用DS读出数据,然后写到 <asp:Label>上

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>]

<Script Language="VB" Runat="Server">
'BindList 过程用来指定数据源,并连接到 DataGrid 控件

Sub Page_Load(sender As Object, e As Eventargs)

dim id As Integer
id=request.QueryString("id")
'response.write (id)
'response.end

Dim strSQL As String = "Select * From enet_news where id="&id
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data_net/data.mdb")
Dim objCmd As New OleDbDataAdapter(strSQL, ConnString)
Dim DS As New DataSet()
objCmd.Fill(DS,"enet_news")
'Dim myTable As DataTable=DS.Tables("enet_news")
if DS.Tables[0].Rows.Count==1 then
news_title.text=DS.Tables[0].Columns[0].ToString();
end if


End Sub

</Script>


------------------------
老是提示DS不成功,什么原因呢

编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC30311: Value of type 'System.Data.DataTableCollection' cannot be converted to 'Boolean'.

源错误:



行 20: objCmd.Fill(DS,"enet_news")
行 21: 'Dim myTable As DataTable=DS.Tables("enet_news")
行 22: if DS.Tables[0].Rows.Count==1 then
行 23: news_title.text=DS.Tables[0].Columns[0].ToString();



源文件: F:\ASP_NET\enet_news\show_news.aspx 行: 22
...全文
73 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun8087 2005-05-30
  • 打赏
  • 举报
回复
是下面的,谢谢各位

if DS.Tables(0).Rows.Count=1 then

news_title.text=DS.Tables(0).Rows(0)(3).ToString()

end if
风之影子 2005-05-30
  • 打赏
  • 举报
回复
'Dim myTable As DataTable=DS.Tables("enet_news")
if DS.Tables[0].Rows.Count==1 then
news_title.text=DS.Tables[0].Rows[0][要显于单无格的索引号].ToString();
end if


把Columns改为行Rows.另外附加你要当前数据表是0行第几个单元格的内容。


结帐吧!
hackate 2005-05-30
  • 打赏
  • 举报
回复
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<Script Language="VB" Runat="Server">
'BindList 过程用来指定数据源,并连接到 DataGrid 控件

Sub Page_Load(sender As Object, e As Eventargs)

dim id As Integer
id=request.QueryString("id")
'response.write (id)
'response.end

Dim strSQL As String = "Select * From enet_news where id="&id
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("data_net/data.mdb")
Dim objCmd As New OleDbDataAdapter(strSQL, ConnString)
Dim DS As New DataSet()
objCmd.Fill(DS,"enet_news")
'Dim myTable As DataTable=DS.Tables("enet_news")
if DS.Tables(0).Rows.Count =1 then
news_title.text=DS.Tables(0).Columns(0).ToString()
end if


End Sub

</Script>

这样应该就可以了

你的代码VB。NET和C#语法都混淆了,汗。
ycrw 2005-05-30
  • 打赏
  • 举报
回复
如楼上兄弟说的,是你的语法出错了
机器人 2005-05-30
  • 打赏
  • 举报
回复
if DS.Tables[0].Rows.Count==1 then

======================================

"=="是C#的用法,改为:

If DS.Tables[0].Rows.Count = 1 Then

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧