使用带有日期的 C# 在 MS Access 97 数据库中清除查询

Posted

技术标签:

【中文标题】使用带有日期的 C# 在 MS Access 97 数据库中清除查询【英文标题】:Clear with query in MS Access 97 database using C# with date 【发布时间】:2021-12-06 21:14:59 【问题描述】:

我创建了一个按钮,其中包含指向 MS Access 97 数据库的链接代码和一个删除查询,但是当我运行代码时,没有从数据库中删除任何内容。必须在第一列 id_car 上进行搜索,该列由 XXYYYYZZZZ 组成(XX = 月,YYYY = 年,ZZZZ = 是我不感兴趣的代码)

string MesePartenza = Mese1;
string MeseFinale = Mese2;

OleDbCommand cmd = new OleDbCommand("DELETE * FROM cartellini WHERE id_car BETWEEN '" + MesePartenza + "" + AnnoP.ToString() + "*' AND '" + MeseFinale + "" + AnnoF.ToString() + "*'", connect);

OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(cmd);
cmd.ExecuteNonQuery();

【问题讨论】:

如果您根本不使用OleDbDataAdapter,为什么还要实例化它?只需将其忽略 - 不需要,根本没有帮助。只需创建OleDbCommand,然后在上面调用.ExecuteNonQuery() - 就像你正在做的那样 - 这已经足够了! 谢谢你的回答,我还是删除了你推荐的内容但是并没有删除任何东西 【参考方案1】:

打印完成的 sql 并在此处发布。此外,您不能在此处使用通配符。试试:

String sql = "DELETE * FROM cartellini WHERE id_car BETWEEN '" + MesePartenza + AnnoP.ToString() + "0000' AND '" + MeseFinale + AnnoF.ToString() + "ZZZZ'";
Console.WriteLine(sql);
OleDbCommand cmd = new OleDbCommand(sql, connect);

【讨论】:

以上是关于使用带有日期的 C# 在 MS Access 97 数据库中清除查询的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MS Access 在 C# 中的两个日期之间进行搜索

如何将日期从 C# 存储到 MS-Access 以及如何检索它?

如何使用 C# 在 MS-Access 中的查询中使用带有通配符的 LIKE 运算符

如何在ms access数据库c#中插入带有主键的记录

将日期插入 Ms-Access 数据库的问题

Clear with query in database access 97 mdb c#