DataSet 取数据的问题

天狼皓月 2006-06-09 11:06:12
在数据集里取数据的时候出问题了,连接 填充 都没错就是取的时候出问题了 可能是格式写错了 望高手给看看。代码如下
_____________________________________________________________________________________-____


using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Data.OleDb;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace jnsapo
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page
{
protected System.Web.UI.WebControls.HyperLink HyperLink1;
protected System.Web.UI.WebControls.HyperLink HyperLink2;
protected System.Web.UI.WebControls.HyperLink HyperLink3;
public OleDbConnection conn;
public OleDbDataAdapter da;
public DataSet ds;
private void Page_Load(object sender, System.EventArgs e)
{


// 在此处放置用户代码以初始化页面
String tit;
String strselect ="select * from News";
String strconn = "Provider=Microsoft.Jet.OleDb.4.0;Mode=ReadWrite;Jet OLEDB:Database Password=ning36yi;Data Source=";
strconn+=Server.MapPath("mdb/jnsapo.mdb");
try
{
conn = new OleDbConnection(strconn);
conn.Open();
Page.Response.Write("成功");
}
catch(Exception ee)
{
Page.Response.Write("出错了");
}
da = new OleDbDataAdapter(strselect,conn);
ds = new DataSet();
da.Fill(ds);

tit=ds.Tables["News"].Rows[0][0].ToString(); //这句话错了
//就这里错了去掉这句就可以正常运行

}


#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
哦 谢谢 接分
yuanlfrj 2006-06-09
  • 打赏
  • 举报
回复
da.Fill(ds);
da填充ds的时候,如果没有为ds取表名的话,默认是以0,1,2...这样的方式命名的.所以
你可以这样访问
tit=ds.Tables[0].Rows[0][0].ToString();
或者你填充的时候取个表名,例如这样:
da.Fill(ds,"News");
这样 tit=ds.Tables["News"].Rows[0][0].ToString();就对了.
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
按说 DataSet1.Tables["TableName"].Rows[index]["ColumnName"]



DataSet1.Tables[index].Rows[index][index] 是一样的阿 为什么在这里就不行呢
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
tit=ds.Tables[0].Rows[0][0].ToString(); 这样可以取出来 但是我想问一下 Tables[0] 是什么意思? 如果这样的话 那我要是在查别的东西每次都要改 strselect ="select * from News";吗?
sky_2008 2006-06-09
  • 打赏
  • 举报
回复
把这句tit=ds.Tables["News"].Rows[0][0].ToString();
改成 tit=ds.Tables[0].Rows[0][0].ToString();

如果你表里面没数据的话也同样会报错
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
tit=ds.Tables["News"].Rows[0][0].ToString(); 这行的目的是把News表里的第一行第一个字段的值取出来 赋给tit.
etilm 2006-06-09
  • 打赏
  • 举报
回复
你加了那一句的目的是什么?都看不懂!
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
高手给看看
天狼皓月 2006-06-09
  • 打赏
  • 举报
回复
大家帮帮忙

62,074

社区成员

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

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

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

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