2015-09-11 4 views
2

Итак, у меня есть база данных sql, которая содержит один столбец, известный как «пользователи», а под таблицей «пользователи» - следующие строки; member_id (произвольно сгенерированный), логин (имя пользователя), пароль (пароль), истечение срока действия (когда истекает срок службы, например, срок службы истекает 18 августа 2016 года. Это истекает в Unix Time Stamp: \), введите (тип например, admin или пользователь) и ключ, который они приобрели для регистрации - все это находится в базе данных «vpam_xxxxxtest», я разработал визуальную базовую систему входа, которая выбирает из таблицы пользователей, имя пользователя и пароль, и проверяет вход пользователя, затем регистрируется; если данные соответствуют тому, что находится в базе данных, он отлично работает, но в то же время мне было интересно, как бы я закодировал его для проверки данных истечения срока действия пользователей, а если срок действия учетной записи истек, то покажите другую форму?Если пользователь истек - Visual Basic

Dim Myadapter As New MySqlDataAdapter 
    Dim Sqlquery = "SELECT * From users WHERE login='" & UsernameTextBox.Text & "'AND passwd ='" & StringtoMD5(PasswordTextBox.Text) & "';" 
    Dim Command As New MySqlCommand 
    Command.Connection = MysqlConnection 
    Command.CommandText = Sqlquery 
    Myadapter.SelectCommand = Command 
    Dim Mydata As MySqlDataReader 
    Mydata = Command.ExecuteReader 
    If Mydata.HasRows = 0 Then 

Как бы интегрировать приведенное ниже SQL-решение в код?

+1

Во время процесса входа в систему, проверьте действительный логин, в случае успеха, то проверьте истечения срока действия учетной записи. Если срок действия учетной записи истек, перенаправляйтесь в другую форму вместо основной формы. И поскольку этот пароль обновляется, не забудьте также обновить новую дату истечения срока действия. ^^^ Предложение от меня, но как я могу это сделать? – Comradeo

ответ

0

Это просто, если вы знаете, как выполнять SQL-запросы. Как вы сказали на ваш комментарий Вы проверяете, если учетные данные являются правильными (имя пользователя и пароль) в этом процессе вы можете получить дату истечения срока действия пользователей компьютера с этим кодом

String usr = "the username" 
String pw = "the password" 

Вы сделать подключение к базе данных (MSSQL , MySQL, или другие) и выполнить этот запрос

SELECT expiry FROM users WHERE login = usr AND passwd = pw 

Таким образом, вы будете делать 2 вещи в то же самое время, проверьте, если Логин правильно и получить дату истечения срока действия (вы можете получить больше информации, если вы хотите, изменение запроса).

Почему этот метод? Он будет выполнять только один запрос в базе данных, что сделает программу быстрее.

Затем вы проверяете, возвращал ли запрос какие-либо строки, если да, вы запустили текущую дату unix по сравнению с той, которую вы получили по запросу. Если вы хотите указать такие ошибки, как (недопустимое имя пользователя, неверный пароль) и так далее вы должны запустить 2 запросов делая программу медленнее

SELECT member_id FROM users WHERE login = usr 

SELECT expiry FROM users WHERE passwd = pw AND member_id = uid 

Первый запрос, чтобы проверить, если пользователь существует, если он делает это возвращает ID пользователя

Второй запрос, чтобы проверить, если пароль соответствует паролю member_id в и возвращает дату истечения срока действия.

Если он работал просто помечать как ответ, если у вас есть какие-либо сомнения, просто спросите

+1

Спасибо, помощник, я действительно ценю это, он отлично работал <3 – Comradeo

+0

Не могли бы вы посмотреть мое первое сообщение и проверить, как я буду интегрировать ваше решение в этот код? – Comradeo

 Смежные вопросы

  • Нет связанных вопросов^_^