【发布时间】:2015-05-21 10:05:38
【问题描述】:
使用 Database.Query 使a huge improvement 提高了我的代码的可读性:
String Select = 'sp_getAllUsers';
WebMatrix.Data.Database DB = WebMatrix.Data.Database.Open(MyConString);
var data = DB.Query(Select);
我想切换到非存储过程查询。 MSDN says there's an optional parameter to the Query Method、Object[],可以作为 SQL 参数传递,但是它们没有任何关于它的更多信息。
所以我有两个问题:
- 如何创建
Object[]? - 以这种方式添加参数能否防止黑客威胁,例如 SQL 注入?
这是我尝试过的精简版:
Select = "Select * From Users Where first_name = "Foo" AND last_name = "Bar"
// Like Javascript
Object[] params = {"first_name" : "Foo"}, {"last_name" : "Bar"};
// More Like What I think it will be
Object[] Params = (String Name = "first_name", String First_Name = "Foo");
var data = DB.Query(Select, params);
我查看的所有来源似乎都只引用了the old way。 This很接近,但是他没有使用Query方法的参数参数。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# asp.net-mvc-4 webmatrix