datarow转datatable[] rows = dt.Select("RowId=" + Index)那个.select是什么意思?

已经到最后一张了!
我的VS2008通讯录项目源码
价格: 免费
累计评价:
源码目录结构图
from.gif[4KB]
Myphonebook.mdb[140KB]
Mypb.dll[9KB]
Mypb.pdb[25KB]
Mypb.dll[9KB]
Mypb.pdb[25KB]
Properties
Mypb.csproj.user[1KB]
from.gif[4KB]
Mypb.sln[902B]
最新Asp.Net源码下载.url[125B]
我的VS2008通讯录项目源码
采用VS2008+Access开发
非常简单哦,仅有数据的添加、修改和列表功能,仅供初学者参考login.aspx是简单的登陆验证界面,默认帐号/密码:51aspx/51aspx
该项目为WebApplication项目App_Data下为Access数据库文件
责任编辑: 51Aspx
这个通讯录源码碰见了一个问题我的代码如下:using S
using System.Collections.G
using System.L
using System.W
using System.Web.UI;
using System.Web.UI.WebC
using System.C
using System.Data.SqlC
using System.D
using Microsoft.ApplicationBlocks.D
namespace Report
&&&&public partial class Repeat : System.Web.UI.Page
&&&&&&&&protected void Page_Load(object sender, EventArgs e)
&&&&&&&&&&&&this.Title = &维护反馈&;
&&&&&&&&&&&&Ddl_ReportID.AutoPostBack =
&&&&&&&&&&&&if (!IsPostBack)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&string ConnectionString = ConfigurationManager.ConnectionStrings[&ReportConnectionString&].ConnectionS
&&&&&&&&&&&&&&&&SqlConnection conn = new SqlConnection(ConnectionString);
&&&&&&&&&&&&&&&&SqlCommand cmd = new SqlCommand(&Select * From Reports&, conn);
&&&&&&&&&&&&&&&&DataSet ds = new DataSet();
&&&&&&&&&&&&&&&&SqlDataAdapter da = new SqlDataAdapter();
&&&&&&&&&&&&&&&&da.SelectCommand =
&&&&&&&&&&&&&&&&da.Fill(ds, &Reports&);
&&&&&&&&&&&&&&&&DataTable dt = ds.Tables[&Reports&];
&&&&&&&&&&&&&&&&DataRow dRow = dt.Rows[0];
&&&&&&&&&&&&&&&&Lb_DateTime.Text = dRow[&Datetime&].ToString().Trim();
&&&&&&&&&&&&&&&&Lb_UserName.Text = dRow[&UserName&].ToString().Trim();
&&&&&&&&&&&&&&&&Lb_IP.Text = dRow[&IP&].ToString().Trim();
&&&&&&&&&&&&&&&&Lb_Fault.Text = dRow[&Fault&].ToString().Trim();
&&&&&&&&&&&&&&&&Lb_Telephone.Text = dRow[&Telephone&].ToString().Trim();
&&&&&&&&&&&&&&&&Tb_Content.Text = dRow[&Content&].ToString().Trim();
&&&&&&&&&&&&&&&&Tb_Repeat.Text = dRow[&Repeat&].ToString().Trim();
&&&&&&&&&&&&&&&&Rbl_F.SelectedValue = dRow[&Mark&].ToString().Trim();
&&&&&&&&&&&&&&&&conn.Close();
&&&&&&&&&&&&}
&&&&&&&&protected void Ddl_ReportID_SelectedIndexChanged(object sender, EventArgs e)
&&&&&&&&&&&&string ConnectionString = ConfigurationManager.ConnectionStrings[&ReportConnectionString&].ConnectionS
&&&&&&&&&&&&SqlConnection conn = new SqlConnection(ConnectionString);
&&&&&&&&&&&&SqlCommand cmd = new SqlCommand(&SELECT * FROM [Report].[dbo].[Reports]&, conn);
&&&&&&&&&&&&conn.Open();
&&&&&&&&&&&&DataSet ds = new DataSet();
&&&&&&&&&&&&SqlDataAdapter da = new SqlDataAdapter();
&&&&&&&&&&&&da.SelectCommand =
&&&&&&&&&&&&da.Fill(ds, &Reports&);
&&&&&&&&&&&&DataTable dt = ds.Tables[&Reports&];
&&&&&&&&&&&&int iname = Ddl_ReportID.SelectedI
&&&&&&&&&&&&DataRow dRow = dt.Rows[iname];
&&&&&&&&&&&&Lb_DateTime.Text = dRow[&Datetime&].ToString().Trim();
&&&&&&&&&&&&Lb_UserName.Text = dRow[&UserName&].ToString().Trim();
&&&&&&&&&&&&Lb_IP.Text = dRow[&IP&].ToString().Trim();
&&&&&&&&&&&&Lb_Fault.Text = dRow[&Fault&].ToString().Trim();
&&&&&&&&&&&&Lb_Telephone.Text = dRow[&Telephone&].ToString().Trim();
&&&&&&&&&&&&Tb_Content.Text = dRow[&Content&].ToString().Trim();
&&&&&&&&&&&&Tb_Repeat.Text = dRow[&Repeat&].ToString().Trim();
&&&&&&&&&&&&Rbl_F.SelectedValue = dRow[&Mark&].ToString().Trim();
&&&&&&&&&&&&conn.Close();
&&&&&&&&protected void Btn_Sub_Click(object sender, EventArgs e)
&&&&&&&&&&&&string ConnectionString = ConfigurationManager.ConnectionStrings[&ReportConnectionString&].ConnectionS
&&&&&&&&&&&&SqlConnection conn = new SqlConnection(ConnectionString);
&&&&&&&&&&&&SqlCommand cmd = new SqlCommand (&Select * From Reports&,conn);
&&&&&&&&&&&&DataSet ds = new DataSet();
&&&&&&&&&&&&SqlDataAdapter da = new SqlDataAdapter();
&&&&&&&&&&&&conn.Open();
&&&&&&&&&&&&string upData = &UPDATE [Report].[dbo].[Reports]&&SET [Mark] = '& + Rbl_F.SelectedItem.Value.ToString().Trim() + &',[Repeat] = '& + Tb_Repeat.Text.Trim() + &' WHERE id =& + Ddl_ReportID.SelectedItem.Value.ToString().Trim() + &&;
&&&&&&&&&&&&da.SelectCommand =
&&&&&&&&&&&&da.Fill(ds,&Reports&);
&&&&&&&&&&&&SqlCommand updataCmd = new SqlCommand(upData, conn);
&&&&&&&&&&&&da.UpdateCommand = updataC
&&&&&&&&&&&&da.UpdateCommand.ExecuteNonQuery();
&&&&&&&&&&&&conn.Close();
&&&&&&&&&&&&Response.Write(&&script language=javascript&alert('记录更新成功,请单击“返回”按钮回到主页面!');&/script&&);
复制代码修改成功了 ,但是为什么本应该是 ID45的数据却显示在了ID19上面,请大家帮忙看看,万分感激!!
同类下载排行
对您有用的代码
数据库应用
ASP.NET MVC安装组件
Windows Phone手机开发工具
Windows 云开发
常见技术问题
全国服务热线
运营中心:北京·中关村核心区您现在的位置:&&>>&电脑频道&>>&&>>&关于DataTable.Select(),DataRow[],DataTable.... - .NET技术 / C#
关于DataTable.Select(),DataRow[],DataTable.... - .NET技术 / C#
作者:佚名&&&&来源:网友投稿&&&&点击数:&&&&更新时间:
DataTable dt = BR_InHosNurse.GetOweBill();//根据存储过程获得dt集合
DataTable dt1 = dt.Clone();//复制结构
DataRow[] dr = dt.Select(&姓名='&+txtName.Text+&'&);//按姓名检索
foreach(DataRow d in dr)
dt1.Rows.Add(d);
dgvOweBill.DataSource = dt1;//设置数据源
但在dt1.Rows.Add(d);这行报错“该行已经属于另一个表。”?答案1------其他回答(50分)---------dt1.ImportRow(d);------其他回答(30分)---------dt1.ImportRow(d);将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值。像你上面写DateRow应该是dt里面的对象,所以不能加------其他回答(15分)---------方法1:dt1.ImportRow(d);方法2:Datarow ndr=dt1.NewRow();for (int i = 0; i & dt.Columns.C i++)
ndr[i] = d[i];
dt1.Rows.Add(ndr);//插入到dt1表中------其他回答(5分)---------引用 4 楼 sisen 的回复:方法1:dt1.ImportRow(d);方法2:Datarow ndr=dt1.NewRow();for (int i = 0; i & dt.Columns.C i++)
ndr[i] = d[i];
dt1.Rows.Add(ndr);//插入到dt1表中查看和“c/c++”有关的所有文章
上一篇文章:
下一篇文章:1、用两层循环计算,前提条件是数据已经按分组的列排好序的。
DataTable&dt&=&new&DataTable();
dt.Columns.AddRange(new&DataColumn[]&{&new&DataColumn("name",&typeof(string)),
& & & & & & & & & & & & & & & & & & & &&new&DataColumn("sex",&typeof(string)),
& & & & & & & & & & & & & & & & & & & &&new&DataColumn("score",&typeof(int))&});
dt.Rows.Add(new&object[]&{&"张三","男",1&});
dt.Rows.Add(new&object[]&{&"张三","男",4&});
dt.Rows.Add(new&object[]&{&"李四","男",100&});
dt.Rows.Add(new&object[]&{&"李四","女",90&});
dt.Rows.Add(new&object[]&{&"王五","女",77&});
DataTable&dtResult&=&dt.Clone();
for&(int&i&=&0;&i&&&dt.Rows.C&)
&&&&DataRow&dr&=&dtResult.NewRow();
&&&&string&name&=&dt.Rows[i]["name"].ToString();
& &&string&sex =&dt.Rows[i]["sex"].ToString();
& & dr["name"]&=&
& & dr["sex"]&=&
& &&int&score&=&0;
&&&&//内层也是循环同一个表,当遇到不同的name时跳出内层循环
&&&&for&(;&i&&&dt.Rows.C&)
&&&&&&&&if&(name&==&dt.Rows[i]["name"].ToString()&&name&==&dt.Rows[i]["sex"].ToString())
&&&&&&&&&&&&score&+=&Convert.ToInt32(dt.Rows[i]["score"]);
&&&&&&&&&&&&dr["score"]&=&
&&&&&&&&&&&&i++;
&&&&&&&&else
&&&&&&&&&&&&break;
&&&&dtResult.Rows.Add(dr);
dtResult中的数据即是最终结果。&
2、 借助DataTable的Compute方法,DataTable中数据不用事先排好序。
DataTable&dt&=&new&DataTable();
dt.Columns.AddRange(new&DataColumn[]&{&new&DataColumn("name",&typeof(string)),
& & & & & & & & & & & & & & & & & & & & &new&DataColumn("sex",&typeof(string)),
& & & & & & & & & & & & & & & & & & & & &new&DataColumn("score",&typeof(int))&});
dt.Rows.Add(new&object[]&{&"张三","男",1&});
dt.Rows.Add(new&object[]&{&"张三","男",4&});
dt.Rows.Add(new&object[]&{&"李四","男",100&});
dt.Rows.Add(new&object[]&{&"李四","女",90&});
dt.Rows.Add(new&object[]&{&"王五","女",77&});
DataTable&dtResult&=&dt.Clone();
DataTable&dtName&=&dt.DefaultView.ToTable(true,&"name","sex");
for&(int&i&=&0;&i&&&dtName.Rows.C&i++)
&&&&DataRow[]&rows&=&dt.Select("name='"&+&dtName.Rows[i][0]&+&"'&and&sex='"&+&dtName.Rows[i][1]&+&"'");
&&&&//temp用来存储筛选出来的数据
&&&&DataTable&temp&=&dtResult.Clone();
&&&&foreach&(DataRow&row&in&rows)
&&&&&&&&temp.Rows.Add(row.ItemArray);
&&&&DataRow&dr&=&dtResult.NewRow();
&&&&dr[0]&=&dtName.Rows[i][0].ToString();
&&&&dr[1]&=&pute("sum(score)",&"");
&&&&dtResult.Rows.Add(dr);
3、使用linq to DataTable group by实现
var&query&=&from&t&in&dt.AsEnumerable()
&&&&&&&&&&&&group&t&by&new&{&t1&=&t.Field&string&("name"),&t2&=&t.Field&string&("sex")&}&into&m
&&&&&&&&&&&&select&new
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&name&=&m.Key.t1,
&&&&&&&&&&&&&&&&sex&=&m.Key.t2,
&&&&&&&&&&&&&&&&score&=&m.Sum(n&=&&n.Field&decimal&("score"))
&&&&&&&&&&&&};
if&(query.ToList().Count&&&0)
&&&&query.ToList().ForEach(q&=&
&&&&&&&&Console.WriteLine(q.name&+&","&+&q.sex&+&","&+&q.score);
收集整理,非原创
阅读(...) 评论()求教DataTable.Select的用法~~
[问题点数:50分,结帖人bjhu6699]
求教DataTable.Select的用法~~
[问题点数:50分,结帖人bjhu6699]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2009年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号2008年7月 荣获微软MVP称号
2005年2月 Delphi大版内专家分月排行榜第一
2009年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号2008年7月 荣获微软MVP称号
2005年2月 Delphi大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 datarow转datatable 的文章

 

随机推荐