asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示:

 Name          Email
 A             [email protected]
 B             [email protected]
 B             [email protected]

我后面的C#代码如下所示:

DataTable dt = new DataTable();
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    string query = "SELECT * FROM retrieveInfo";
    try
    {
        conn.Open();
        DataTable info = new DataTable();
        OleDbCommand command = new OleDbCommand(query, conn);
        OleDbDataAdapter dataAdapter = new OleDbDataAdapter(command);
        info.Clear();
        dataAdapter.Fill(info);
    }

我在MS Access中运行了查询queryInfo,它返回了3行,如上所示。但是,当我使用C#运行此命令并将数据加载到数据表中时,它仅显示2行。数据表仅具有第一行和第二行。我不知道这是否与原始表属性有关,还是我的C#代码错误?我还尝试使用数据读取器,执行读取器并使用while循环读取数据。但是它也只返回2行。

任何帮助,将不胜感激!

谢谢

参考方案

您有可能在该查询本身或其子查询之一中的retrieveInfo定义中的某处使用“ LIKE”语句。 OleDbDataAdapter无法解析MS Access LIKE语句,因为它是用Access SQL编写的。您需要使用ANSI LIKE(请参阅链接)。

Stackoverflow Explanation

asp.net使用客户端验证而不发布到服务器 - c#

我有一个很长的表格,分为几个部分。我想利用内置的ASP.NET验证控件而不在提交表单之前将其回发到服务器。为了提供更多的上下文,让我解释一下我的想法。该表格分为几部分,每个部分都有一个“下一步”按钮。单击“下一步”按钮时,将使用ASP.NET包含的客户端代码来验证该部分。如果该部分有效,则jquery方法将隐藏该部分并显示下一个。当用户到达表单的最后部分时,…

如何在ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制 - c#

我们正在将ASP.NET Core 2.1与.NET Framework 4.6.2结合使用。我们有一个客户需要向我们的Web应用程序发送一个很大程度上嵌套的json结构。当他们进行此调用时,我们将输出以下日志并返回错误: 读取器的MaxDepth超过了32。路径“ super.long.path.to property”,第1行,位置42111。”我浏览了…

ASP.NET持久缓存(“延迟加载”样式吗?) - c#

我在使缓存按我想要的方式工作时遇到了麻烦。问题:检索请求的数据的过程非常耗时。如果使用标准的ASP.NET缓存,则某些用户将承担检索数据的“重任”。这是不可接受的。解决方案?:数据是否为100%当前并不重要。我想提供旧的无效数据,同时在另一个线程中更新缓存的数据,使新数据可用于将来的请求。我认为,数据需要以某种方式持久化,以便能够在应用程序重新启动后为第一个…

ASP.NET Gridview ButtonField onclick触发包含行的onclick事件 - c#

我有一个gridview行,当单击该行时必须执行回发操作A,而在该行中单击该行时必须执行回发操作B的按钮字段。问题是,当我单击按钮字段时,会触发event1和event2。下面是代码。protected void gdv_RowCommand(object sender, GridViewCommandEventArgs e) { string arg = …

使用Javascript在ASP.NET MVC控制器操作上通过POST下载文件(HttpPost操作) - c#

最初,我的控制器操作接受GET。当我的数据增长时,我被迫转向POST方法,以便能够发送更大的数据。我的控制器动作如下:[HttpPost] public ActionResult ClausesPdf(MyArrayModel obj) { ... return File(pdf, "application/pdf", "fil…