2016-08-22 22 views
0

フォームを送信するときに、自分のWebページにバックグラウンドで投稿したいフォームがあります。ここに私のコードです:ASP.NETを使用してデータベースにデータを挿入する

if (Validation.IsValid()) 
{ 
    // Insert a new user into the database 
    var db = Database.Open("StarterSite"); 

    // Check if user already exists 
    var user = db.QuerySingle("SELECT Email FROM UserProfile WHERE LOWER(Email) = LOWER(@0)", email); 
    if (user == null) { 
     // Insert email into the profile table 
     db.Execute("INSERT INTO UserProfile (Email) VALUES (@0)", email); 
    } 
} 

これはサンプルコードです、私はそれを解釈しようとしています。私を困惑させるのは、VALUES (@0)と言われています。ただし、このページのフォームを送信すると、値(@0)は表示されますが、入力した電子メールアドレスを投稿することはできますか?

どのような透明性も高く評価されます。

よろしく、

ジョシュ

(P.S、私はASP.NETに新たなんだ)

+0

。レコードをデータベースに挿入する方法の詳細を示すリンクを見てください。 http://www.onlinebuff.com/article_step-by-step-select-insert-update-and-delete-using-aspnet-c-and-adonet_32.html – BNN

答えて

1

0 @最初のパラメータを指します。あなたの場合、それは変数emailです。

db.Execute("INSERT INTO UserProfile (Email) VALUES (@0)", email); 

このように複数の順序付きパラメータを挿入できます。ユーザーが `unique` _constraint_を適用することによって、存在しないかどうかを簡単に確認することができsql``タグ付けすることによって

db.Execute("INSERT INTO UserProfile (Email, SecondParam) VALUES (@0, @1)", @0, @1); 
関連する問題