带有日期的c#datatable select语句
我正在尝试在数据表上创建一个select语句,以获取我正在寻找的日期范围内的行。 我是新手,我不太明白这个选择语句是如何工作的。 我试着写这个但是没有用。 你能帮我一把吗? 我被卡住了
foundRows = dt.Select("DATE1 = '" + date1+ '"');
除了用#包装日期之外,如果date1是DateTime而不是字符串,则需要使用ToString(您的日期格式)来获取正确的sql语句。 对于调试,如果首先创建包含filter的字符串,则使其更容易,然后使用该字符串进行选择。 然后,您可以查看字符串并在查询构建器中使用它来validation您的sql。
这是我测试过的最佳最佳搜索标准。 你必须约会。
From_Date = 12/01/2012 To_Date = 12/31/2012
和您应用的DataTable中的列。 (在我的代码’日期’)
您的Select Statement将是这样的。
DataRow[] rows = newTable.Select("date >= #" + from_date + "# AND date <= #" + to_date + "#");
在SSIS脚本组件中使用它。 我刚才使用了上面的例子,其中包括日期周围的“#”。 我也将每个转换为字符串。 这非常有效。
以防万一你想知道我如何在SSIS中设置它:首先有一个数据流使用记录集目的地和一个Object变量来存储记录集。
在我的脚本中,我将变量包含在内。
在主class……
public class ScriptMain : UserComponent { OleDbDataAdapter a = new OleDbDataAdapter(); System.Data.DataTable AwardedVacTable = new System.Data.DataTable(); ... ...
然后在预执行中……
public override void PreExecute() { base.PreExecute(); a.Fill(AwardedVacTable, Variables.rsAwardedVac); ... ...
然后在自定义方法中访问数据表…
String dtFilter = "EmployeeID = " + empId.ToString() + " AND (#" + Convert.ToString(StartDate) "# <= EndDate AND #" + Convert.ToString(StartDate) + "# >= StartDate" + " OR #" + Convert.ToString(StartDate.AddDays((double)numDays)) + "# >= StartDate AND #" + Convert.ToString(StartDate.AddDays((double)numDays)) + "# <= EndDate)"; DataRow[] Overlaps = AwardedVacTable.Select(dtFilter);
expression =“Date>#2015-1-1#”; DataRow [] foundRows = table.Select(expression); 与select * from tablename where Date>’2015-1-1′
上述就是C#学习教程:带有日期的c#datatable select语句分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1027723.html