Asp.net 如何编写支持参数化查询的数据库类

Asp.net 如何编写支持参数化查询的数据库类,asp.net,ado.net,class-design,Asp.net,Ado.net,Class Design,我以前是一名经典的ASP程序员,有时是编写第一个ASP.NET应用程序的PHP程序员。我很喜欢大大改进的ADO.NET函数,但我觉得有必要编写一个数据库类。部分我想整合与数据库实际交互的代码,部分我想减少重复 一个简单的数据库类并不难,但我使用参数化查询作为安全措施之一。我正在努力学习如何把这些融入课堂。我编写了一个函数,通过传入表和列名来返回数据库中某列的数据类型,但我想不出一种从SQL查询中获取表和列名的可靠方法 我对该类的设计是使用Query()函数进行选择,使用Execute()函数进行

我以前是一名经典的ASP程序员,有时是编写第一个ASP.NET应用程序的PHP程序员。我很喜欢大大改进的ADO.NET函数,但我觉得有必要编写一个数据库类。部分我想整合与数据库实际交互的代码,部分我想减少重复

一个简单的数据库类并不难,但我使用参数化查询作为安全措施之一。我正在努力学习如何把这些融入课堂。我编写了一个函数,通过传入表和列名来返回数据库中某列的数据类型,但我想不出一种从SQL查询中获取表和列名的可靠方法

我对该类的设计是使用Query()函数进行选择,使用Execute()函数进行插入/更新/删除。(不反对拥有更多的公共函数,但不想超越我自己。)这两个函数都使用SQL字符串和SortedList作为参数。可以通过在SQL字符串中查找参数名并查看等号前面来获取列名。同样,当查询是insert、update或delete时,获取表名应该相当简单,因为一次只能处理一个表。最大的问题是选择,因为可能有一个或多个联接、内部选择等


我走错方向了吗?任何我没有想到的事情都会让我的生活变得更轻松或更困难?有人用任何一种语言为此编写了一个类,可以提供一些建议吗?

不要重新发明轮子。查看或(或)您的ORM需求。

不要重新发明轮子。查看或(或)您的ORM需求。

会再次致电,以找到一个经过测试的适合您的轮子,特别是如果这是您第一次进入aspnet。。。还有很多事情让你忙个不停


将为添加一个建议,它可能比nHibernate轻一点,但这取决于您项目的性质,它们都是很棒的工具,在过去几年中都为我节省了数月的工作。

将再次呼吁找到一个经过测试的适合您的轮子,特别是如果这是你第一次进入aspnet。。。还有很多事情让你忙个不停

将为添加一个建议,它可能比nHibernate轻一点,但这实际上取决于您项目的性质,它们都是很棒的工具,在过去几年中都为我节省了数月的工作。

听起来像是您的“简单数据库类”对需要使用它的类隐藏了太多的细节

我已经编写了包含SqlCeEngine的类,并公开了类似“LookupDescription(字符串代码)”的方法。。。我认为那种设计是你应该研究的。并且,考虑看LINQ。它提供了很多功能。

我觉得您的“简单数据库类”对需要使用它的类隐藏了太多细节


我已经编写了包含SqlCeEngine的类,并公开了类似“LookupDescription(字符串代码)”的方法。。。我认为那种设计是你应该研究的。并且,考虑看LINQ。它提供了很多功能。

我认为这是您在ASP.NET中的第一次体验,因此建议您研究Linq to SQL。这样,在您尝试编写任何Linq查询之前,您就可以了解它是如何工作的

在您的案例中,我能想到的不使用Linq to SQL的唯一原因是,如果您没有使用SQL Server(或者现在或将来需要支持其他DBs),或者由于某种原因无法使用.NET 3.5运行时


祝你好运

我想,由于这是你第一次使用ASP.NET,你最好研究一下Linq to SQL。这样,在您尝试编写任何Linq查询之前,您就可以了解它是如何工作的

在您的案例中,我能想到的不使用Linq to SQL的唯一原因是,如果您没有使用SQL Server(或者现在或将来需要支持其他DBs),或者由于某种原因无法使用.NET 3.5运行时


祝您好运

更不用说支持参数化查询的旧ODBC API了。更不用说支持参数化查询的旧ODBC API了。