用于从 ASP .NET 更新表的动态 SQL
Posted
技术标签:
【中文标题】用于从 ASP .NET 更新表的动态 SQL【英文标题】:Dynamic SQL for updating a table from ASP .NET 【发布时间】:2009-05-29 00:35:57 【问题描述】:我有一个 ASP.NET 3.5 应用程序,我希望允许用户选择一个表并允许对该表进行 CRUD 操作。用户将被限制在许多表中进行编辑,但是这些表甚至数据库要等到部署之后才能知道; web.config 将设置连接和表。
所以我需要构建一个框架,允许更新 SQL 数据库中的通用表。我见过的大多数 ORM 都需要在编译时知道架构,所以我不能使用这些。最好的答案似乎是动态构建 SQL 查询字符串并使用 reg 表达式来确保有效输入并防止 SQL 注入。有没有更好的办法?
【问题讨论】:
【参考方案1】:是的。数据集和数据表对象怎么样?您可以通过动态 sql 语句填充这些内容,将它们直接绑定到一个好的编辑器网格控件,并且模式和列数据类型检查应该很容易。在 ORM 和 Linq 之前我们做过什么?!?!
【讨论】:
【参考方案2】:动态 Linq 库令人难以置信。您可以将所有内容指定为字符串,除了表名。
(来源:scottgu.com)http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
但是,在这里寻找有关如何通过动态映射 DataContext 在运行时选择表的想法:
http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/09/27/25294.aspx
【讨论】:
以上是关于用于从 ASP .NET 更新表的动态 SQL的主要内容,如果未能解决你的问题,请参考以下文章
Asp.Net, VB, SQL Server Reporting Services..从目录中动态生成的报告要在单击时在报告查看器上查看?