2013-02-17 93 views
1

我想用新的用户定义的输入更新我的数据库。我已经在我希望更新的表格中创建了一个列(bios)。有我的查询为一个字符串,当试图执行它,我得到一个错误Razor/SQL UPDATE [错误]:CS0103:名称'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); 

    } 

任何想法或建议家伙? Thx很多:))

+0

该语句是否直接在SQL Server Management Studio中执行?你也没有在任何地方使用你的userbio和currentUser变量。 – devdigital 2013-02-17 17:42:40

+0

您是否将数据保存到数据库在ASP.NET MVC视图? – Maris 2013-02-17 17:44:45

+0

@Maris,不,这不是ASP.NET MVC,它是一个WebMatrix页面。 – 2013-02-17 17:45:24

回答

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); 
} 

又路过当前用户的形式后的部分看起来相当危险。

+0

Thx很多达林。任何想法为什么这不会更新我的表? bios的初始列被设置为NULL。 – QEx 2013-02-17 18:12:31

+0

跳过它;)完成! Thx再次! @Darin – QEx 2013-02-17 18:29:19

相关问题