什么是数据库查询的最佳实践?

时间:2010-09-24 13:34:32

标签: c# database

我想知道数据库查询的最佳做法是什么。我正在使用C#,mysql数据库。

我有一个应用程序,其中我硬编码了所有数据库查询。现在客户端修改了数据库结构。所以我必须再次修改这些查询,因为所有查询都在代码内部,我需要测试应用程序,构建它,创建安装程序以及执行更多与部署相关的事情。

如何避免此类问题?我们应该在哪里查询?在一些纯文本文件或app.config或其他地方?

我希望查询是可配置的,这样当发生这样的事情时,只需要更改配置,不需要更改代码或可执行文件。

我们没有使用存储过程,也没有使用ORM框架。

先谢谢

感谢大家的宝贵意见。我认为在目前的情况下,我能做的最好的事情就是修改查询并尝试从下次开始强调存储过程。

再次感谢。

4 个答案:

答案 0 :(得分:4)

  

我们没有使用存储过程,也没有使用ORM框架。

那些将是你真正的选择。如果你不使用它们,那你就不走运了。

对你而言,最好的做法可能不是技术性的,而是组织性的。设置有关修改数据库的过程。

  • 所有相关方都必须讨论并同意对数据库的更改
  • 所有参与方都应提前通知数据库更改,以便有时间对其作出反应

答案 1 :(得分:1)

存储过程解决了大多数这些问题。适当的架构规划( 之前为其编写代码)也有助于抵消它。

另一种方法是使用程序调用的某种数据库API。将所有内容分开并通过共享的模型库访问它。

答案 2 :(得分:0)

执行此操作的一种方法是使用程序使用的某种通信DLL,这样,如果数据库发生更改,您只需更改正在调用的程序集。

然而,除非你把它写成完全通用的,否则使用键值对或变量的某些东西,你仍然会受到相同的影响。

另一种方法是通过存储过程,在数据库中完成所有工作,只需调用存储的程序来完成工作。

但是,这仍然可能会发生变化。

答案 3 :(得分:0)

您可以向项目添加数据访问层,然后将数据集添加到数据访问层。数据集(.xsd)文件将帮助您组织查询。您将能够将所有查询添加到数据集,这将是您编辑/删除或添加新查询的一站式商店。例如:请转到以下链接

http://www.shiningstar.net/aspnet_articles/DataSet/DataSetProject6.aspx