Страница: 1 |
Народ! Возникает следующая проблема. Помозите люди добрые кто чем может. Попробую описать модель ситуации. Есть в приложении 2 запроса типа 112 (запрос SQL к серверу). В Connect'е у одного из них указаны верные UID/PWD, у другого заведомо ложные, например пустые или пароль кривой. Естессно второй не запускается, ошибка подключения. Однако если запустить правильный, то после этого запустится и второй (в этом же - и только в этом - сеансе), хотя Connect остается неверным. Почему это происходит и - самое главное - как от этого избавиться? Мне необходимо организовать отлов ошибок, а их... нет!!!!! Конечно, я в итоге как-нибудь превращу недостатки в достоинства, но хотелось бы разобраться, почему возникают такие грабли.
Пример кода на VB6: Dim con As ADODB.Connection Public Function LoginToServer(server As String, login As String, _ Public Sub DisconnectServer() Public Function AddNewBatch(name As String, description As String, act As String) _ Страница: 1 |
Вопрос: я или ACCESS - один из нас НЕ маразматик
Добавлено: 09.02.04 09:54
Автор вопроса: barbudas
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
ol2003
Вопросов: 3
Ответов: 122
Профиль | | #1
Добавлено: 09.02.04 17:54
A ty ne proboval zakryt' perviy connect pered tem, kak otkryvat' vtoroy?
Номер ответа: 2
Автор ответа:
barbudas
Вопросов: 5
Ответов: 3
Профиль | | #2
Добавлено: 10.02.04 09:54
а не подскажешь - как???????
Номер ответа: 3
Автор ответа:
ol2003
Вопросов: 3
Ответов: 122
Профиль | | #3
Добавлено: 11.02.04 04:46
Запустил запрос - потом закрыл и сделал =NOTHING, а потом описываешь следующий.
Номер ответа: 4
Автор ответа:
ol2003
Вопросов: 3
Ответов: 122
Профиль | | #4
Добавлено: 11.02.04 18:30
Dim cmd As ADODB.Command
Public rst As ADODB.Recordset
Pass As String) As Boolean
On Error GoTo BackDoor
Set con = New ADODB.Connection
con.ConnectionString = "driver={SQL server};" _
& "server=" & server & ";UID=" & login & ";PWD=" & Pass
con.ConnectionTimeout = 10
con.Open
FrontDoor:
LoginToServer = True
Exit Function
BackDoor:
LoginToServer = False
strMessage = "Error: " & Err.Number & Err.description & vbCrLf & " occured " _
& "during login to " & server & "."
Call DisconnectServer
End Function
If Not (con Is Nothing) Then Set con = Nothing
If Not (cmd Is Nothing) Then Set cmd = Nothing
If Not (rst Is Nothing) Then Set rst = Nothing
End Sub
As Boolean
On Error GoTo BackDoor
strCommand = "insert table1 values('" _
& name & "', '" & description & "', '" & act & "')"
Set com = New ADODB.Command
com.ActiveConnection = con
com.CommandType = adCmdText
com.CommandText = strCommand
com.CommandTimeout = 10
com.Execute
AddNewBatch = True
Call DisconnectServer
Exit Function
BackDoor:
AddNewBatch = False
strMessage = "Error: " & Err.Number & Err.description & vbCrLf & " occured " _
& "while adding new batch"
Call DisconnectServer
End Function