1

我正在尝试使用新的用户定义输入来更新我的数据库。我已经在要更新的表中创建了一个列(bios)。将我的查询作为字符串,在尝试执行它时出现错误

CS0103:当前上下文中不存在名称“bios”

相关代码和平贴如下:

    if(IsPost){
    userbio = @Request["Bio"];
    currentuser = @Request.Form["currentuser"];

    var db = Database.Open("ResearchA");
    var insertbio = "UPDATE usernameb SET bios = userbio WHERE username = currentuser";  //Update the table with 'userbio' when a username is selected.
    db.Execute(insertbio,bios);

    }

有什么想法或建议吗?多谢 :))

4

1 回答 1

2

您似乎正在使用一些bios未在任何地方定义的变量。

所以修复你的代码:

if(IsPost) {
    var userbio = Request["Bio"];
    var currentuser = Request.Form["currentuser"];
    var db = Database.Open("ResearchA");
    var insertbio = "UPDATE usernameb SET bios = @0 WHERE username = @1";
    db.Execute(insertbio, userbio, currentuser);
}

同样将当前用户作为表单帖子的一部分传递看起来非常危险。

于 2013-02-17T17:43:39.773 回答