powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пароль
19 сообщений из 19, страница 1 из 1
Пароль
    #32514186
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такой код. Этот код должен сверит пароль которая находится в таблице
база данных. Если пароль не правильный то он должен показать форму2. Если правильный то должен показать форму 3. Пароль правильный не правильный он
показывает форму 2. База находится в SQL SERVER 2000. Помогите пожалуйста.
Private Sub Command1_Click()
Dim db As Connection
Dim ado As ADODB.Recordset
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;dsn=p;dsn=otk;uid=;pwd=;"
Set ado = New Recordset
Dim sql As String
sql = "select * from polzowateli where parol= " + "'" + Text1.Text + "'"
ado.Open sql, db, adOpenStatic, adLockOptimistic
If Text1.Text <> Text1.DataField Then
Form2.Show
End If
If Text1.Text = Text1.DataField Then
Form3.Show
End If
End Sub
...
Рейтинг: 0 / 0
Пароль
    #32514211
Alexander Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Text1.Text <> Text1.DataField Значит так и есть проверь еще раз. Обрати внимание на тип данных после букв могут быть пробелы.
...
Рейтинг: 0 / 0
Пароль
    #32514257
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На счет пробелов всё нормально.
...
Рейтинг: 0 / 0
Пароль
    #32514354
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то в строке подключения dsn-ов многовато...
...
Рейтинг: 0 / 0
Пароль
    #32514420
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dsn=otk убрал. Соревно не получается
...
Рейтинг: 0 / 0
Пароль
    #32514496
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вижу что ado - Это recordset
Ну открыл ты его

И где оно дальше используется?

Я бы сделал так:

if ado.recordcount > 0 then 'есть записи - пароль найдет
else ' парольне найден
end if
...
Рейтинг: 0 / 0
Пароль
    #32514507
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поглядел внимательно твой код - вообще-то каша какая-то...
Text1.DataField - задаёт имя поля в текущей записи DataSource, с которым будет связан Text1, а что является DataSource для Text1 - непонятно и сравнивать Text1.Text и Text1.DataField в данном контексте вообще бессмысленно...
Видимо имелось в виду нечто подобное:
Код: plaintext
1.
2.
3.
4.
If Text1.Text <> ado("passwordField").Value Then
Form2.Show
else
Form3.Show
End If
...
Рейтинг: 0 / 0
Пароль
    #32514516
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, неправильно написал. Если пароль неправильный, рекордсет вообще пустой будет. Вот так правильнее:
Код: plaintext
1.
2.
3.
4.
If not ado.eof Then
Form3.Show
else
Form2.Show
End If
...
Рейтинг: 0 / 0
Пароль
    #32514712
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробовал всё то что посоветовали не получается.
Я попробовал
if ado.Recordcount>0 then
form3.Show
Else
form2.show
end if
Соревно показывает форму 2.
Поробовал

If not ado.eof Then
Form3.Show
else
Form2.Show
End If
Соревно показывает форму 2.
...
Рейтинг: 0 / 0
Пароль
    #32514760
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй получившийся запрос запустить в QA и посмотри что получиться?
...
Рейтинг: 0 / 0
Пароль
    #32514762
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое QA
...
Рейтинг: 0 / 0
Пароль
    #32514919
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Query Analyzer
...
Рейтинг: 0 / 0
Пароль
    #32514946
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from polzowateli where parol= пароль . Всё нормально работает
в QA. Пароль в цифрах.
...
Рейтинг: 0 / 0
Пароль
    #32515017
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А апострофы где?

какой тип у поля parol?
...
Рейтинг: 0 / 0
Пароль
    #32515091
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тип у поли parol: char
...
Рейтинг: 0 / 0
Пароль
    #32515099
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если в программе написать
msgbox ado("parol")
перед if

что на экран выдаст?
...
Рейтинг: 0 / 0
Пароль
    #32515118
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Either BOF or EOF is True, or the current record has been deleted.
Requested operation requires a current record.
...
Рейтинг: 0 / 0
Пароль
    #32515144
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симптомы говорят о том, что нет такого пароля в таблице

А
msgbox sql

или остановиться - и в дебагере сделать
? sql

И стотру снегеренную нам показать?

Может не к той базе цепляешься?
Или есть еще объект с таким именем, но от другого пользователя (попробуй select * from dbo.polzowateli where ...)
...
Рейтинг: 0 / 0
Пароль
    #32515733
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можеть быт я здесь ошибку пропускаю:

Private Sub Command1_Click()
Dim db As Connection
Dim ado As ADODB.Recordset
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;dsn=p;uid=;pwd=;"
Set ado = New Recordset
Dim sql As String
sql = "select * from dbo.polzowateli where parol= " + "'" + Text1.Text + "'"
ado.Open sql, db, adOpenStatic, adLockOptimistic
If ado.RecordCount > 0 Then
Form3.Show
Else
Form2.Show
End If
End Sub
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пароль
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]