Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос / 18 сообщений из 18, страница 1 из 1
19.05.2004, 11:01
    #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
19.05.2004, 12:06
    #32523611
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
imya="'"&datacombo1.ListField&"'"
Пробелы поставь
imya="'" & datacombo1.ListField & "'"
...
Рейтинг: 0 / 0
19.05.2004, 13:46
    #32523912
guest1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Теперь выдает сообщение

Type Mismatch
...
Рейтинг: 0 / 0
19.05.2004, 13:58
    #32523941
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Код: plaintext
1.
sql = "select * from dbo.Polzowateli where Parol= '" & Text1.Text & "' and imya='" & datacombo1.ListField & "'"
...
Рейтинг: 0 / 0
19.05.2004, 14:38
    #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
19.05.2004, 14:42
    #32524057
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Код: plaintext
If Not ado.EOF Then
?
...
Рейтинг: 0 / 0
19.05.2004, 14:55
    #32524092
guest1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Не получается
...
Рейтинг: 0 / 0
19.05.2004, 15:17
    #32524169
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
А если запрос в QA запустить?
Что вернет?
...
Рейтинг: 0 / 0
19.05.2004, 15:26
    #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
19.05.2004, 15:30
    #32524209
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
после присвоения переменной sql напиши
msgbox sql

что вернет?
...
Рейтинг: 0 / 0
19.05.2004, 15:47
    #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
19.05.2004, 15:59
    #32524303
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Может у тебя коллашен CASE-SENSIVITY?

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

Есть ошибка или нет (при выполнении)?
...
Рейтинг: 0 / 0
19.05.2004, 16:50
    #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
19.05.2004, 16:55
    #32524455
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос
Делаем вывод - что не так
рекордсет пустой

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

?
...
Рейтинг: 0 / 0
20.05.2004, 08:05
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Запрос / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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