Access数据库在c#中选择多行

时间:2011-12-02 03:15:26

标签: c# database ms-access select

我一直在关注此站点,以便在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 + "'");

但这失败了。

3 个答案:

答案 0 :(得分:1)

你需要添加和调整

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

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

答案 1 :(得分:1)

您的意思是要检查的其他字段。

制作一个如下所示的条件:

Finish='something' and Style='something'

使用:

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

答案 2 :(得分:0)

正如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);