datatable的select语句。。。。

abcjun2 2012-03-27 04:40:54
比如我想在一个datatable里面执行一条这样的语句。。。。

select count(*) from table1 where id <123

要怎么写呢?
...全文
483 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 abcjun2 的回复:]
比如我想在一个datatable里面执行一条这样的语句。。。。

select count(*) from table1 where id <123

要怎么写呢?
[/Quote]
var query=datatable1.AsEnumerable().Count(c=>c.Field<int>("id")==123);
  • 打赏
  • 举报
回复
不过最简单还是写个存储过程取出来在多少行
create proc spGetRowCount
@rowcount int output
as
select *from table where id=123 set @rowcount=@@RowCount
  • 打赏
  • 举报
回复
在读取全部数据时,赋给rownum啊

或者你表加个rownum字段啊
插入时生成序号啊
abcjun2 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jayinit 的回复:]

那不如在读数据时加个rownum了,直接筛除id=123的,取rownum引用 7 楼 abcjun2 的回复:

引用 4 楼 jayinit 的回复:

你是想获得符合条件有多少条吗?
你可以这么做
DataRow []yourrow=DataTable.select('id <123');
int yournum=yourrow.length;


我是想搜索比如ID为……
[/Quote]


这样的话应该怎么写呢?
  • 打赏
  • 举报
回复
那不如在读数据时加个rownum了,直接筛除id=123的,取rownum[Quote=引用 7 楼 abcjun2 的回复:]

引用 4 楼 jayinit 的回复:

你是想获得符合条件有多少条吗?
你可以这么做
DataRow []yourrow=DataTable.select('id <123');
int yournum=yourrow.length;


我是想搜索比如ID为123,他在这个DATATABLE里面是第几行。。。。
[/Quote]
zdzcool 2012-03-27
  • 打赏
  • 举报
回复
用过滤器啊。
datatable.Filter
DataTable dt ds.table["Table"];
//为数据表建立一个数据视图 DataView dv=new DataView(dt);
//用RowFilter属性进行模糊查询
dv.RowFilter="id <123";
DataGrid1.DataSource=dv;
DataGrid1.DataBind();
abcjun2 2012-03-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jayinit 的回复:]

你是想获得符合条件有多少条吗?
你可以这么做
DataRow []yourrow=DataTable.select('id <123');
int yournum=yourrow.length;
[/Quote]

我是想搜索比如ID为123,他在这个DATATABLE里面是第几行。。。。
kingagile 2012-03-27
  • 打赏
  • 举报
回复
第一种,循环datatable每一行
for (int i = 0; i < tableCount; i++)
{
if (Convert.ToInt32(dt.Rows[i]["ID"]) ==123)
{
DataRow newdr = newdt.NewRow();
foreach (DataColumn column in dt.Columns)
{
newdr[column.ColumnName] = dr[column.ColumnName];
}
newdt.Rows.Add(newdr);
}
}
tempCount = newdt.Rows.Count;

第二种:用LINQ。

wjw13714275686 2012-03-27
  • 打赏
  • 举报
回复
直接写好存储过程 才是最好的办法呀
  • 打赏
  • 举报
回复
你是想获得符合条件有多少条吗?
你可以这么做
DataRow []yourrow=DataTable.select('id <123');
int yournum=yourrow.length;
EnForGrass 2012-03-27
  • 打赏
  • 举报
回复
Datatable.Select("id<123")
多个的话
Datatable.Select("id<123,name='kaka'")//多个的话就以逗号分隔
mingcsharp 2012-03-27
  • 打赏
  • 举报
回复
楼上回的真是快,你回一下我的问题呗
bdmh 2012-03-27
  • 打赏
  • 举报
回复
不行,只写条件就行,不能写sql,你应该写 id < 123

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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