ai didi

c# - 使用 MYSQL INBUILT 函数通过选择查询过滤数据表记录

转载 作者:行者123 更新时间:2023-11-29 12:40:00 24 4
gpt4 key购买 nike

我在其他帖子中看到了如何使用“<”“=”条件过滤表记录,但我想使用 mysql 内置函数,例如,

日期、年周等,

  datatable table; //--> it contains my result

DataRow[] foutput = table.Select("YEARWEEK(Date) = 'YEARWEEK(CURRENT_DATE)'");

gvweeksch.DataSource = foutput;
gvweeksch.DataBind();

最佳答案

您不能在仅支持少数方法的DataTable 中使用数据库函数。查看以下链接中的表达式语法以了解支持的内容:

http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(v=vs.110).aspx

请注意,DataTable 只是一个内存中的集合,它甚至不知道数据的来源。它与数据库既不相关也不链接。

如果您想过滤具有复杂条件(例如一年中的星期)的表,您应该使用 Linq-To-DataTable 而不是拥有所有 .NET 方法的地方:

DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
Calendar cal = dfi.Calendar;
int week = cal.GetWeekOfYear(DateTime.Today, dfi.CalendarWeekRule, dfi.FirstDayOfWeek);
var rowsFiltered = from row in table.AsEnumerable()
let date = row.Field<DateTime>("Date")
where date.Year == DateTime.Today.Year
&& week == cal.GetWeekOfYear(date, dfi.CalendarWeekRule, dfi.FirstDayOfWeek)
select row;
DataTable tblFiltered = table.Clone(); // empty table with same columns
foreach (DataRow row in rowsFiltered)
tblFiltered.ImportRow(row);
gvweeksch.DataSource = tblFiltered;
gvweeksch.DataBind();

关于c# - 使用 MYSQL INBUILT 函数通过选择查询过滤数据表记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26251839/

24 4 0
文章推荐: ios - UITableView 看起来比设置的大
文章推荐: Helm 中的 PostgreSQL : initdbScripts Parameter
文章推荐: ios - HealthKit后台交付
文章推荐: java - 序列 "testsequence"尚未在此 session 中的 postgresql java 中定义
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com