2013-02-17 1 views
1

새로운 사용자 정의 입력으로 데이터베이스를 업데이트하려고합니다. 나는 이미 업데이트하고 싶은 테이블에 칼럼 (바이오스)을 만들었습니다. 문자열로 내 쿼리를 가지고하려고 할 때 내가Razor/SQL UPDATE [오류] : CS0103 : 'bios'이름이 현재 컨텍스트에 없습니다.

는 CS0103 오류 얻고 그것을 실행 : 이름 '바이오스'는 현재 컨텍스트

에 존재하지 않는 코드의 관련 평화가 게시됩니다 아래 :

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 a lot :))

+0

SQL Server Management Studio에서 문을 직접 실행합니까? userbio 및 currentUser 변수를 어디에도 사용하지 않습니다. – devdigital

+0

ASP.NET MVC의 뷰에서 데이터를 DB에 저장하고 있습니까? – Maris

+0

@Maris, 아니요, ASP.NET MVC가 아니며 WebMatrix 페이지입니다. –

답변

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 많이 Darin. 왜 이것이 내 테이블을 업데이트하지 않는지에 대한 아이디어가 있습니까? 바이오스의 초기 열은 NULL로 설정되었습니다. – QEx

+0

건너 뛰기;) 완료! 다시 Thx! @ 다린 – QEx

관련 문제