Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пароль / 19 сообщений из 19, страница 1 из 1
12.05.2004, 09:09
    #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
12.05.2004, 09:25
    #32514211
Alexander Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Text1.Text <> Text1.DataField Значит так и есть проверь еще раз. Обрати внимание на тип данных после букв могут быть пробелы.
...
Рейтинг: 0 / 0
12.05.2004, 09:54
    #32514257
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
На счет пробелов всё нормально.
...
Рейтинг: 0 / 0
12.05.2004, 10:58
    #32514354
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Что-то в строке подключения dsn-ов многовато...
...
Рейтинг: 0 / 0
12.05.2004, 11:30
    #32514420
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
dsn=otk убрал. Соревно не получается
...
Рейтинг: 0 / 0
12.05.2004, 11:59
    #32514496
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Вижу что ado - Это recordset
Ну открыл ты его

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

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

if ado.recordcount > 0 then 'есть записи - пароль найдет
else ' парольне найден
end if
...
Рейтинг: 0 / 0
12.05.2004, 12:03
    #32514507
PA
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
12.05.2004, 12:08
    #32514516
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Не, неправильно написал. Если пароль неправильный, рекордсет вообще пустой будет. Вот так правильнее:
Код: plaintext
1.
2.
3.
4.
If not ado.eof Then
Form3.Show
else
Form2.Show
End If
...
Рейтинг: 0 / 0
12.05.2004, 13:35
    #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
12.05.2004, 14:05
    #32514760
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Попробуй получившийся запрос запустить в QA и посмотри что получиться?
...
Рейтинг: 0 / 0
12.05.2004, 14:07
    #32514762
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Что такое QA
...
Рейтинг: 0 / 0
12.05.2004, 15:23
    #32514919
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
Query Analyzer
...
Рейтинг: 0 / 0
12.05.2004, 15:39
    #32514946
guest
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
select * from polzowateli where parol= пароль . Всё нормально работает
в QA. Пароль в цифрах.
...
Рейтинг: 0 / 0
12.05.2004, 16:15
    #32515017
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пароль
А апострофы где?

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

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

А
msgbox sql

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

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

Может не к той базе цепляешься?
Или есть еще объект с таким именем, но от другого пользователя (попробуй select * from dbo.polzowateli where ...)
...
Рейтинг: 0 / 0
13.05.2004, 10:06
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пароль / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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