ASP.NETベースのWebサイトからデータを抽出するのに役立つSQLクエリを開発しようとしています。WebMatrixを使用してASP.NETベースのWebサイトでSQLCompactDatabase(sdf)に取り組んでいます。
データベースの春の大掃除を毎月行うために、自分のWebサイトにコードを実装しようとしています。ユーザーが作成したがアクティブ化されていないアカウントを削除する必要があります。そのため、ユーザーIDを解放し、データベースサイズを管理するために、データベースに対してクエリを実行して、ユーザーによってまだ確認されておらず、作成日が20日経過しているアカウントを取得すると思いました。
データベースの構造は、私のユーザーのテーブルが「ユーザー」と呼ばれることです。UserID(autonumber)、Email、FullNameなどのフィールドがあります。
ASPのWebSecurityによって作成されたテーブルは、「webpages_Membership」と呼ばれます。UserID(自動番号)、CreationDate、IsConfirmed(アカウントがアクティブ化されているかどうか)などのフィールドがあります。
私はSQLクエリの開発が苦手です。私が直面している問題は、引数がDeleteAllRecordsに設定されたMembership.DeleteUserメソッドを使用してユーザーを削除すると、Usersテーブルの関連するユーザーの行が削除されるのに対し、独自のテーブル「webpages_Membership」では何も行わないことです。ユーザーがサインインしようとすると、Eメール(ユーザーID)がユーザーテーブルに存在するかどうかを確認するだけです。したがって、長期的には、「webpages_Membership」に表示されるアカウントが、削除されたために「Users」テーブルに存在しません。WbeSecurityの動作に精通している人は、上記のすべてを経験している必要があります。
「webpages_Membership」テーブルを検索し、IsConfirmedフィールドがFalseに設定されている行(アカウントがまだアクティブ化されていないことを意味します)を取得し、「webpages_Membership」のUserIDフィールドが「ユーザー」テーブル(これにより、アカウントが以前に削除されていないことが保証されます)。