gpt4 book ai didi

c# - 在 C# 中查询 dBase 文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:13 24 4
gpt4 key购买 nike

我的具体问题是我无法按日期字段进行过滤。

这是我的代码:

string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\Tools;Extended Properties=dBASE IV;User ID=Admin;Password=;";

using (OleDbConnection con = new OleDbConnection(connstr))
{
string sql = "select USERNUMBER,FIRSTNAME,LASTNAME, LASTACCESS from EMP WHERE TERMINATED=\"Y\" AND [LASTACCESS]<\"2001/10/20\"";
OleDbCommand cmd = new OleDbCommand(sql, con);

con.Open();
OleDbDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

如果我省略日期字段,它会正常工作。我只是不知道格式是什么。如果我使用 dbf 查看器实用程序查看表,LASTACCESS 字段位于 dd.mm.yyyy 中(以句点作为分隔符,但我不知道这是否只是该实用程序的行为)。

如果我从日期字段中省略正斜杠,它可以工作但返回零记录(即使我知道有)。

最佳答案

试试这个,忘记约会时间 hell

string sql = "select USERNUMBER,FIRSTNAME,LASTNAME, LASTACCESS from EMP WHERE TERMINATED=\"Y\" AND [LASTACCESS]<@StartDate";
OleDbCommand cmd = new OleDbCommand(sql, con);
cmd.Parameters.AddWithValue("@StartDate", new DateTime(2001, 10, 20));

只需使用参数,而不必自己格式化它们。

该框架可以为您提供帮助,并提供已经过测试且运行良好的解决方案

关于c# - 在 C# 中查询 dBase 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51251963/

24 4 0
文章推荐: c# - 用SemaphoreSlim节流—“Task.Run()”与“new Func ()”
文章推荐: javascript - 将 CSS 分配给
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com