powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос
18 сообщений из 18, страница 1 из 1
Запрос
    #32523401
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такой запрос: Я хочу делать запрос по двум полям. Но что-то
выдает сообщение Syntax Error.

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=polz;uid=;pwd=;"
Set ado = New Recordset
Dim sql As String
sql = "select * from dbo.Polzowateli where Parol= " + "'" + Text1.Text + "'" and imya="'"&datacombo1.ListField&"'"
ado.Open sql, db, adOpenStatic, adLockOptimistic

Заранее благодарю.
...
Рейтинг: 0 / 0
Запрос
    #32523611
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
imya="'"&datacombo1.ListField&"'"
Пробелы поставь
imya="'" & datacombo1.ListField & "'"
...
Рейтинг: 0 / 0
Запрос
    #32523912
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь выдает сообщение

Type Mismatch
...
Рейтинг: 0 / 0
Запрос
    #32523941
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and imya='" & datacombo1.ListField & "'"
...
Рейтинг: 0 / 0
Запрос
    #32524042
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответь. Но чего-то я не понимаю вроде бы все нормально. Но опять
что-то не то:
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=polz;uid=;pwd=;"
Set ado = New Recordset
Dim sql As String
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and imya='" & DataCombo1.ListField & "'"
ado.Open sql, db, adOpenStatic, adLockOptimistic
If ado.RecordCount > 0 Then
Screen.MousePointer = 11
k.Show
Screen.MousePointer = 0
Unload Form1
Else
MsgBox "wrong parol"
Text1.Text = ""
End If
Если даже пароль вводишь правильно только MsgBox выдает сообщение Wrong Parol. Я не знаю что делать.
...
Рейтинг: 0 / 0
Запрос
    #32524057
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
If Not ado.EOF Then
?
...
Рейтинг: 0 / 0
Запрос
    #32524092
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не получается
...
Рейтинг: 0 / 0
Запрос
    #32524169
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если запрос в QA запустить?
Что вернет?
...
Рейтинг: 0 / 0
Запрос
    #32524191
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если этот запрос в QA запустить то не действует.
"select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and Imya='" & DataCombo1.ListField & "'"

Если например в QA запустить этот запрос то действует.
select * from dbo.Polzowateli where parol='1' and Imya='futbol'
...
Рейтинг: 0 / 0
Запрос
    #32524209
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после присвоения переменной sql напиши
msgbox sql

что вернет?
...
Рейтинг: 0 / 0
Запрос
    #32524269
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если так сделать:
Dim sql As String
msgbox sql
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and Imya='" & DataCombo1.ListField & "'"
то MsgBox показывает форму в Captione "k" и кнопка Оk. Ok нажимаешь то тогда опять MsgBox выдает сообщение Wrong Parol.
Если так сделать:
Dim sql As String
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and Imya='" & DataCombo1.ListField & "'"
msgbox sql
то тогда MsgBox выдает сообщение select* from Polzowateli where parole='1' and
Imya='Futbol'.
Ok нажимаешь то тогда опять MsgBox выдает сообщение Wrong Parol.
...
Рейтинг: 0 / 0
Запрос
    #32524303
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может у тебя коллашен CASE-SENSIVITY?

Других различий не нашел :(
LCase(DataCombo1.ListField)
?
...
Рейтинг: 0 / 0
Запрос
    #32524371
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал но все равно не получается. Я даже не знаю что делать
...
Рейтинг: 0 / 0
Запрос
    #32524390
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ado.Open sql, db, adOpenStatic, adLockOptimistic
msgbox ado("Imya")

Есть ошибка или нет (при выполнении)?
...
Рейтинг: 0 / 0
Запрос
    #32524444
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ошибка при выполнении. Выдает такое сообщение:

Run-Time Error 3021
Either BOF or EOF is True, or the current record has been deleted.
Requested operation requires a current record.
...
Рейтинг: 0 / 0
Запрос
    #32524455
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаем вывод - что не так
рекордсет пустой

PS
не твой топик?
/topic/92251&hl=
...
Рейтинг: 0 / 0
Запрос
    #32524460
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так поробуй (т.е. без условий)
sql = "select * from dbo.Polzowateli"

?
...
Рейтинг: 0 / 0
Запрос
    #32525125
guest1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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=polz;uid=;pwd=;"
Set ado = New Recordset
Dim sql As String
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and Imya='" & DataCombo1.ListField & "'"
MsgBox sql
ado.Open sql, db, adOpenStatic, adLockOptimistic
If Not ado.EOF Then
Screen.MousePointer = 11
k.Show
Screen.MousePointer = 0
Unload Form1
Else
MsgBox "Wrong Parol"
Text1.Text = ""
Продолжаем вчерашний топик. Я что-то не обратил внимания но MsgBox sql
показывает select * from dbo.Polzowateli where Parol='1' and Imya='Imya'.Скорее
всего DataCombo1.Listfield не берет данные из таблицы. Поэтому показывает Wrong parol. Я вместо ListField указал DataField не получается . Спасибо заранее
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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