OleDbException (0x80004005): не указана ошибка? - PullRequest
2 голосов
/ 25 июня 2010

Я создал кнопку (Next) для навигации по таблице с именем CHAPTERS;

Моя проблема в том, что кнопка работает два, а иногда и три раза.После этого я получаю [Не указано ошибка].

Это мой код:

Dim S As Integer = Integer.Parse(Request.QueryString("id"))
Dim RQ As String
Dim DR As OleDbDataReader
RQ = "SELECT ID_C FROM CHAPTRES"
DR = Connexion.lecture(RQ)
While DR.Read
    If DR.GetInt32(0) = S Then
            Exit While
        End If
    End While

    If DR.Read = True Then
        S = DR.GetInt32(0)
        Response.Redirect("Chapitre.aspx?id=" & S)
    Else   
        // End of records (stop reading)
    End If

Спасибо.

UPDATES :

Это connecter и lecture функций в моем Connexion.vb файле:

Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient

Public Class Connexion

Public Shared Function conecter() As OleDbConnection
    Dim MyConnexion As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & System.AppDomain.CurrentDomain.BaseDirectory & "/Learning.mdb")
    MyConnexion.Open()
    Return MyConnexion
End Function

Public Shared Function lecture(ByVal requete As String) As OleDbDataReader
    Dim Mycommand As OleDbCommand = conecter().CreateCommand()
    Mycommand.CommandText = requete
    Dim myReader As OleDbDataReader = Mycommand.ExecuteReader()
    Return myReader

End Function

1 Ответ

1 голос
/ 25 июня 2010

Ваша проблема, вероятно, в том, что вы не закрываете / не удаляете OleDbDataReader.Вызов Response.Redirect переносит вас на другую страницу, не закрывая открытое средство чтения данных.

Попробуйте изменить последний фрагмент кода следующим образом:

If DR.Read = True Then 
    S = DR.GetInt32(0) 
    DR.Close()
    DR.Dispose()
    Response.Redirect("Chapitre.aspx?id=" & S) 
Else    
    // End of records (stop reading) 
End If 

Обновление: Очевидно, было бы полезно, если бы вы предоставили больше информации, например, может быть, именно какая строка кода в этом примере выдает исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...