我与WebMatrix的打打闹闹,到目前为止,我已经找到了如何使用存储过程用剃刀/ WebMatrix中最好的办法是像所谓WebMatrix中和存储过程
@if (IsPost) {
var LinkName = Request["LinkName"];
var LinkURL = Request["LinkURL"];
string sQ = String.Format("execute dbo.myprocname @LinkName=\"{0}\",
@LinkURL=\"{1}",LinkName, LinkURL);
db.Execute(sQ);
}
注意,我没有做任何类型的SQL注入检查或类似的东西,我认为这将是非常必要的。我错过了什么吗?
我认为这个答案有效,但事实并非如此。 – infocyde 2010-09-17 16:59:33
现在,Larsenal已经更新了对占位符使用@ 0,@ 1表示法的答案。这就是数据库帮助程序如何通过索引而不是名称将参数值映射到内部的占位符。 – 2010-09-18 08:21:37
这是问题所在。如果proc有10个参数,但我只需要通过两个参数会怎么样?如果我不给它们命名,它们按照它们被声明的顺序预期,所以我将不得不放置持有者值,如exec dbo.myproc null,null,@ 0,1,“server”,@ 1“我不喜欢,再加上如果params的顺序发生变化,我必须返回并更新webmatrix中的Razor代码,我知道它仍处于测试阶段,并且webmatrix将针对入门级别的用户,但它会很高兴能够命名参数,而不是使用索引 – infocyde 2010-09-20 01:34:39