0

ユーザーが電子メール アドレスを入力できるようにする VB.net LINQ プログラムがあります。電子メール アドレスは、「Email (PK)」フィールドと「Password」フィールドを持つ「User_signon」というデータベース テーブルに対してチェックされます。「btnPassword」をクリックすると、電子メール アドレスがデータベースに対してチェックされ、ランダムに生成されたパスワードが電子メールで送信されます。電子メールアドレス。問題は、新しいランダムパスワードを取得してデータベースで更新し、電子メールアドレスに接続する方法がわからないことです。次のコードがありますが、パスワードを更新する方法がありません。

'データベースとの接続を確立 Dim db As New DatabaseDataClassesDataContext()

        'initialise global variabel to take email string entered in text box
        GlobalVariables.SearchUserEmail = txtEmailAddress.Text

        'initialise global variable to hold email address retrieved from database
        GlobalVariables.CurrentEmailAddress = (From u In db.User_Signons
                                               Where u.Email = SearchUserEmail
                                               Select u.Email).First

       'calls generatepassword method
        Dim stNewPassword As String = GeneratePassword()

何か助けてください。

4

2 に答える 2

1

ユーザー名を取得するだけでなく、ユーザー オブジェクト全体を取得してからパスワードを設定し、結果を保存します。以下が役立つかどうかを確認してください。

    'initialise global variabel to take email string entered in text box
    GlobalVariables.SearchUserEmail = txtEmailAddress.Text

    'initialise global variable to hold email address retrieved from database
    Dim user = db.User_Signons.First(Function(u) u.Email = SearchUserEmail)
    GlobalVariables.CurrentEmailAddress = user.UserEmail

   'calls generatepassword method
    Dim stNewPassword As String = GeneratePassword()
    user.Password = stNewPassword
    db.SubmitChanges()
于 2013-03-06T13:53:15.817 に答える
1

あなたはこれを行うことができます

Dim user= (From u In db.User_Signons Where     u.Email = SearchUserEmail Select u.Email).First;

user.password =stNewPassword
db.SaveChanges();

以上です。

于 2013-03-06T13:50:49.853 に答える