【问题标题】:Access Database select more than one row in c#访问数据库在c#中选择多行
【发布时间】:2012-01-11 04:33:35
【问题描述】:

我一直在关注这个网站,了解 C# 中的基本 Access 数据库实现

http://www.homeandlearn.co.uk/csharp/csharp_s12p12.html

我想搜索不止一行。此代码适用于一行。

string searchFor = txtFurniture.Text;
returnedRows = ds1.Tables["Furniture"].Select("Finish='" + searchFor + "'");

如何添加额外的行来检查?我尝试过类似的东西

returnedRows = ds1.Tables["Furniture"].Select("Finish='" + "Style='" + searchFor + "'");

但这失败了。

【问题讨论】:

  • 如果你得到了你想要的信息,别忘了将答案标记为已接受

标签: c# database ms-access select


【解决方案1】:

正如documentation for the DataTable.Select method 中所引用的,documentation for the DataColumn.Expression property 描述了与filterExpression 参数一起使用的语法。在您的情况下,请使用 And 创建具有两个条件的复合表达式:

returnedRows = ds1.Tables["Furniture"].Select("Finish='" + searchFor + "' And Style='" + searchFor2 + "'");

...或者更具可读性...

string filterExpression = string.Format("Finish='{0}' And Style='{1}'", searchFor, searchFor2);
DataRow[] returnedRows = ds1.Tables["Furniture"].Select(filterExpression);

【讨论】:

    【解决方案2】:

    您的意思是要检查一个额外的字段。

    创建一个如下所示的条件:

    Finish='something' and Style='something'
    

    使用:

    returnedRows = ds1.Tables["Furniture"].Select("Finish='" + searchFor + "' and Style='" + searchFor + "'");
    

    【讨论】:

      【解决方案3】:

      你需要添加和条件

      returnedRows = ds1.Tables["Furniture"].Select("Finish='" + searchFor +
                                                 "' and Style='" + searchFor + "'");
      

      此外,您可以查看此答案可能有助于您轻松理解:Datatable select with multiple conditions

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-22
        • 1970-01-01
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 2022-12-05
        相关资源
        最近更新 更多