有没有一种优雅的方式来编写一个插入语句,它有很多参数?我有20个标志需要保存在数据库中,还有其他需要插入的信息以及这20个标志。为该插入文件编写一个包含30个参数的方法是浪费时间,但到目前为止我还没有提出其他想法,这可能会奏效。有很多参数的c#sql插入
4
A
回答
6
您可以将所有这些参数放在一个对象中,并将该对象传递给该方法。
3
标准方法是创建一个表示您的实体的类,然后传递该类的一个实例。
这使得它很容易传递给其他方法,可以做验证,演示等,以及持久性。
+0
为什么downvote? – RedFilter 2012-04-25 16:47:04
1
同意萨钦,封装,你需要一个类的内部和
然后通过实例的数据层的SQL查询的进一步处理SqlParameters名单。
1
您可以创建一个表示可以插入到您的数据库中的对象类型的接口,例如公开诸如getFields之类的方法的Iinsertable。用那个,你创建实现这个接口的实体。
使用这些实体,在数据库层中,您可以创建一个接受Iinsertable作为参数的泛型方法,您可以查询所有要在循环中使用getFiels方法插入的字段。这会让你的代码对于每一种类型的实体都是可重用的,它会像地狱一样干净。
0
使用我的SqlBuilder类。它可以让你编写参数查询,而无需担心创建参数或他们被称为什么。
var bldr = new SqlBuilder(myCommand);
bldr.Append("SELECT * FROM CUSTOMERS WHERE ID = ").Value(myId, SqlDbType.Int);
//or
bldr.Append("SELECT * FROM CUSTOMERS NAME LIKE ").FuzzyValue(myName, SqlDbType.NVarChar);
只要你喜欢你可以有很多标志。每次要在查询中包含运行时值时,只需调用Value()。参数的创建是隐藏的,你只剩下一个整洁的SQL查询。
的SqlBuilder类的代码是here
相关问题
- 1. 参数化的多行插入SQL Server
- 2. 多次插入带有参数的SQL的变量数
- 3. ADO.NET向SQL参数插入多个值
- 4. 插入很多行到SQL 2005
- 5. 插入带有参数的SQL Server的多行
- 6. 方法有很多参数
- 7. SQL参数并插入
- 8. 参数化多行插入
- 9. 有很多连接和参数的SQL语句
- 10. Sqlite C++插入很慢
- 11. Netezza - 插入多行很慢
- 12. 插入表中很多值
- 13. 实例化有很多参数的类
- 14. DAL方法有很多的参数
- 15. Table-Valued参数与插入SQL Server 2008的多个插入行性能问题
- 16. 插入WHERE子句的SQL Proc参数?
- 17. Python PYDOBC插入带有参数的SQL Server数据库
- 18. C#SqlCommand插入多个记录时返回输入参数
- 19. 多行插入MS Sql Server使用C#
- 20. C#插入多个TextField值到SQL Server
- 21. 插入在树状结构中的很多行SQL SERVER 2005
- 22. 带MySQL插入参数的C#
- 23. 多行IDbCommand的参数插入
- 24. 多个SQL插入
- 25. SQL插入多行
- 26. 插入多行SQL
- 27. SQL插入多行
- 28. C#OleDb插入整数与参数
- 29. 插入到C#中的SQL数据库#
- 30. 的Web SQL插入数据为多行
以何种方式是它是“浪费时间”?这可能是一个难看的设计选择,但我不确定它是如何浪费时间的。 – 2012-04-25 14:18:08
我认为你正在寻找一个ORM。如果可能,我会选择这个。 – 2012-04-25 14:25:06
当你说“flags”时,你可能是指可以用'[Flags]枚举MyFlags {...}'表示的实现吗?如果是这样,你可以很容易地用一个变量来表示这20个标志。 – 2012-04-25 14:34:33