Razor SQL - 使用变量作为列名动态语句翻译的更新语句

时间:2016-01-25 23:20:52

标签: sql-server asp.net-mvc razor dynamic-sql

这样做的原因是少数用户的内部应用程序,不需要安全性。

我在SQL中看过很多关于这个主题的帖子,但我无法在Razor中翻译它。

我试图在Razor中创建一个用户选择列的更新声明。

如何将其转换为动态声明?像Exec()或sp_executesql

if(IsPost){
    NoEmpl = Request.Form["NoEmpl"];
    NoCam = Request.Form["NoCam"];
    Day = Request.Form["Day"];
    Date = Request.Form["Date"];
    var db = Database.Open("Schedule");
    var insertCommand = "UPDATE AtiTruck SET " + NoCam + "=@0 WHERE Day=@1 AND Date >= @2"; 
    db.Execute(insertCommand, NoEmpl, Day, Date);}

使用NoCam表单输入选择SET NoCam ...其值必须使用NoEmpl(= @ 0)表单输入填充。

谢谢

1 个答案:

答案 0 :(得分:0)

我最终没有使用Exec()或sp_sp_executesql

var insertCommand = "UPDATE AtiCamion SET " + NoCam + "=@1 WHERE Day=@2 AND Date >= @3"; 
db.Execute(insertCommand, "NoCam", NoEmpl, Day, Date);

我觉得我看得太远了

谢谢