1

新しいユーザー定義の入力でデータベースを更新しようとしています。更新したいテーブルに列(BIOS)をすでに作成しました。クエリを文字列として実行しようとすると、エラーが発生します

CS0103:「bi​​os」という名前は現在のコンテキストに存在しません

関連するコードの平和は以下に掲載されています:

    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 に答える