1

私はここで私の心を失っています。

基本的な「パスワードをお忘れですか?」を実装しようとしています。ユーザーがメールアドレスを入力して新しいパスワードを取得する機能。簡単ですよね?

私の問題は、データベースを更新して、古いパスワードを新しいパスワードに置き換えることです。私は C# と MS Access を使用しています。

更新コードは次のとおりです。

public bool UpdateCustomer(Customer customer){
    try {
        if(con.State == ConnectionState.Closed)
            con.Open();

        string sql = "UPDATE CUSTOMERS SET password=? WHERE userid=?;";

        OleDbCommand cmd = new OleDbCommand(sql, con);
        cmd.Parameters.Add(new OleDbParameters("password", customer.Password));
        cmd.Parameters.Add(new OleDbParameters("userid", customer.UserId));

        cmd.ExecuteNonQuery();

        return true;

    }catch (Exception ex) {

    }finally {
        con.Close();
    }
    return false;
}

CUSTOMER テーブルは、 、 、 、および の列でUserId構成NameEmailPasswordますCreatedDate

try-catch のデバッグ中に、UPDATE ステートメントに構文エラーがあることを示す例外がスローされます。password=?更新されるかどうかを確認するためだけに に置き換えて試行錯誤を行いname=?ましたが、実際には顧客名が更新されます。

および列はNamePassword私が見る限り、 data type と同じですText

何が問題になる可能性がありますか?

4

1 に答える 1