2012-02-26 3 views
0

WebMatrixでASP.NET Razorを使用してデータを編集するにはここにいくつかの問題があります このコードを使用してUpdateコマンドを使用してデータを編集しますが、残念ながらそれは動作しません。WebMatrixでASP.NET Razor Edit Dataページを使用する

カミソリコード:

@{ 
     { 
      var userId = Request["UserId"]; 
    var db = Database.Open("intranet"); 
    var query = "UPDATE Personne SET Demande = @0 WHERE UserId LIKE '%@1%'"; 
    db.Execute(query,"refuser", userId); 
} 
    } 

htmlコード:

<form action="responsable.cshtml" method="post"> 
    <input type="hidden" name="UserId" value="saadwafqui" /> 
    <input type="submit" value="Oui" /> 
</form> 

答えて

0

あなたのコードは、SQLインジェクションの脆弱性です。私はこれを修正することをお勧めします。また、定義されている場所が明確でない変数IsPostを使用しているようです。

例:

@{ 
    var userId = Request["userid"]; 
    var db = Database.Open("intranet"); 
    var query = "UPDATE Personne SET Demande = @0 WHERE UserId LIKE '%' + @1 + '%'"; 
    db.Execute(query, "refuser", userId); 
} 

お知らせLIKE句の周りの構文:

LIKE '%' + @1 + '%' 

これは途中でUserIdを持つすべてのレコードと一致します。あなたはユーザーIDが要求内の値で始まるレコードのみ一致したい場合:

LIKE '%' + @1 

を、あなたが完全に一致したい場合は、単に代わりにLIKE句の=演算子を使用します。

マークアップも完全に壊れています。 window.location属性はありません。あなたの助けFR dudde

<form action="responsable.cshtml" method="get"> 
    <input type="hidden" name="userid" value="saadwafqui" /> 
    <input type="submit" value="Oui" /> 
</form> 
+0

tnnnnnnnksをしかし、それは働いていません:あなたが好む場合

<form action="responsable.cshtml" method="post"> <input type="hidden" name="userid" value="saadwafqui" /> <input type="submit" value="Oui" /> </form> 

またはGET要求に:私は、ページを実行するとsが起こったものに見えるたぶん、あなたはこのような何かを意味し: http://data.imagup.com/11/1144944948.PNG ここにデータベースがあります: http://data.imagup.com/12/1144945047.PNG – user1233875

+0

画像の誤差の問題私はそれが解決されたことを示していますが、スチールdes'ntデータのコマンドを更新します:s – user1233875

+0

@ user1233875、それはデータベース値のUserIDが 'SaadWafqui'で、' saadwafqui'をパラメータとして送信しているので、LIKE句は一致するレコードを見つけられません。 –

関連する問題