关于dataset的一个问题,请各位大侠一定要帮忙。

berryhuang 2003-01-28 03:10:44
ds是我使用sql语句查询后的dataset
由于当初的库中不包括bugTotal字段,所以我想通过查询后,在dataset数据集中添加1列(通过后来的查询可知bugTotal是第3各字段)
当我往dataset中添加值时,却怎么也不成功。请各位大侠指教。

ds.Tables["M.count"].Columns.Add( "bugTotal");

for( int i = 1; i < ds.Tables["M.count"].DefaultView.Count; i ++ )
{
ds.Tables["M.count"].Rows[i].ItemArray.SetValue(10,3);
ds.Tables["M.count"].Rows[i].AcceptChanges();
}
ds.Tables["M.count"].AcceptChanges();

...全文
28 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
berryhuang 2003-01-29
  • 打赏
  • 举报
回复
奇怪,从管理进去,明明有分,从普通界面看,怎么都是0分呀?
tangjun 2003-01-28
  • 打赏
  • 举报
回复
呵呵,楼主,结贴拉
berryhuang 2003-01-28
  • 打赏
  • 举报
回复
感谢各位。我真实笨死了,按照tangjun(俊) 的方法确实可以,修改如下:

ds.Tables["M.count"].Columns.Add( "bugTotal");

for( int i = 1; i < ds.Tables["M.count"].DefaultView.Count; i ++ )
{
DataRow dr= ds.Tables["M.count"].Rows[i];
dr["bugTotal"]=10;
}
tangjun 2003-01-28
  • 打赏
  • 举报
回复
你的AceeptChanged没用了,去掉
结贴点管理
berryhuang 2003-01-28
  • 打赏
  • 举报
回复
to tangjun(俊)
太感谢了,不过结果显示,是重新创建了一行,而不是放在原有行的最后一列。

另外问一个很缅的问题,怎么结贴呀? :)
berryhuang 2003-01-28
  • 打赏
  • 举报
回复
to bwx()
谢谢。可是我跟踪调试时发现位置没有错。即使位置不对,其它值也应该被改变,为什么没有用呢?
tangjun 2003-01-28
  • 打赏
  • 举报
回复
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
dt=new DataTable("table1");
dt.Columns.Add("col1");
dt.Columns.Add("col2");
DataRow dr=dt.NewRow();
dr["col1"]="tangjun";
dr["col2"]="cns";
dt.Rows.Add(dr);
this.DataGrid1.DataSource=dt;
this.DataGrid1.DataBind();

}

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

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

}
#endregion

private void Button1_Click(object sender, System.EventArgs e)
{
dt.Columns.Add("col3");
dt.Rows[0]["col3"]="wk";
this.DataGrid1.DataSource =dt;
this.DataGrid1.DataBind();
}

上面是我的程序,
ds.Tables["M.count"].Rows[i]["bugTotal"]="xxx";
就可以了
bwx 2003-01-28
  • 打赏
  • 举报
回复
我看错了我的意思是ds.Tables["M.count"].Columns.Add( "bugTotal");
不一定就是加到了列的最后
bwx 2003-01-28
  • 打赏
  • 举报
回复
你把ds.Tables["M.count"].Columns.Add( "bugTotal");
放到For语句之后试试

62,254

社区成员

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

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

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

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