【问题标题】:How to select data from database with many filter options?如何从具有许多过滤器选项的数据库中选择数据?
【发布时间】:2011-10-01 00:58:27
【问题描述】:

我正在创建连接到数据库的 C# winforms 应用程序。 因为我在数据库中有很多记录,所以我想在 sql 端过滤数据(过滤器必须有很多没有开始/结束日期的选项)。

实现这一目标的最佳方法是什么?

我知道我可以使用 BindingSource 进行过滤,但我认为不推荐,因为在这种情况下我必须从数据库中选择所有数据。

附言对不起我的英语不好。

【问题讨论】:

  • 为什么不使用 WHERE 子句的存储过程或简单文本查询?
  • 存储过程太复杂,简单的文本查询不是安全的方式。
  • @Vano 关于安全性是正确的。 en.csharp-online.net/…

标签: c# sql performance


【解决方案1】:

您应该始终更喜欢过滤数据库中的数据,而不是将不需要的数据带入您的应用程序并使用代码进行过滤。

例如

string query = "SELECT * FROM MyTable ";

在下面的字符串中添加一个 WHERE 子句和一对 column = value 或 column = expression

 string query = "SELECT * FROM MyTable WHERE column1=somevalue AND column2 > somevalue AND ...";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-30
    • 2011-02-01
    • 2021-11-10
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多