login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[ ASP .NET] Cannot convert (Opgelost)

Offline xSc - 04/03/2008 13:24
Avatar van xScOnbekend Ik heb een class file, general.vb in App_Code.

http://www.plaatscode.be/5911/

Nu gaat het fout bij

sqlReader = sqlCommand.ExecuteReader



Compiler Error Message: BC30311: Value of type 'System.Data.OleDb.OleDbDataReader' cannot be converted to '1-dimensional array of System.Data.OleDb.OleDbDataReader'.




Ik maak zo altijd verbinding en op een andere plaats gaat het gewoon goed. In Google kan er weinig over vinden.

11 antwoorden

Gesponsorde links
Offline Abbas - 04/03/2008 13:34
Avatar van Abbas Gouden medaille

Crew .NET
Geef eens wat code uit de file waarin je de class aanroept, het kan ook zijn dat het daar ergens misgaat.
Offline xSc - 04/03/2008 13:35 (laatste wijziging 04/03/2008 13:39)
Avatar van xSc Onbekend http://www.plaatscode.be/5912/

Het ligt echt aan general.vb. Een ander bestand dat wel werkt, werkt niet wanneer ik die code (vanaf sqlReader = sqlCommand.ExecuteReader) uitvoer. Als ik van die regel de code verwijder, werkt allles wel.

Offline Abbas - 04/03/2008 13:45
Avatar van Abbas Gouden medaille

Crew .NET
  1. If Not sqlReader.Read Then
Hier moeten haakjes na die 'Read'. Zo dus:
  1. If Not sqlReader.Read() Then

Offline xSc - 04/03/2008 13:47 (laatste wijziging 04/03/2008 13:48)
Avatar van xSc Onbekend Vreemd dat Visual Web Developer ze er niet achter zet.

Bedankt in ieder geval, maar het lost mijn probleem niet op.

Eerst krijg ik deze melding:

Compiler Error Message: BC30311: Value of type 'System.Data.OleDb.OleDbDataReader' cannot be converted to '1-dimensional array of System.Data.OleDb.OleDbDataReader'.

Op de regel van:

sqlReader = sqlCommand.ExecuteReader

En verderop de melding:

'Read' is not a member of System.Array




Komt het omdat het een externe class file is? In aspx.vb bestanden heb ik geen last. Alleen in dit .vb bestand.
Offline nemesiskoen - 04/03/2008 14:01 (laatste wijziging 04/03/2008 14:03)
Avatar van nemesiskoen Gouden medaille

PHP expert
Na enig overleg met titjes en wat opzoeken kwamen we tot de conclusie dat je jouw sqlReader als array hebt gedefiniëerd, zoals de error laat weten.

  1. Dim sqlReader As OleDbDataReader()


==>

  1. Dim sqlReader As OleDbDataReader


Bij Read moeten, zoals titjes zegt, wel de haakjes:-)

Citaat:
Komt het omdat het een externe class file is? In aspx.vb bestanden heb ik geen last. Alleen in dit .vb bestand.

Het zou alleen kunnen voorkomen dat het wel lukt in je aspx.vb klassen en niet in je .vb klassen als je een namespace bent vergeten te importeren. Aangezien je dit wel hebt gedaan ligt de fout daar niet aan.
Offline JBke - 04/03/2008 14:36 (laatste wijziging 04/03/2008 15:37)
Avatar van JBke PHP gevorderde je kan best werken met

  1. Try
  2. Return True
  3. Catch ex As Exception
  4. MessageBox.Show(ex.Message, Me.Text)
  5. Return False
  6. End Try


EDIT: is om de Try Catch uit te leggen is niet VB .NET wel VB Windows Forms Applications

dan krijg je de error te zien
Offline Abbas - 04/03/2008 14:54
Avatar van Abbas Gouden medaille

Crew .NET
Ja je hebt gelijk maar in dit geval 'probeert' hij een Array te maken van een OleDbDataReader door er die haakjes rond te plaatsen, die haakjes moeten er niet staan.
Offline nemesiskoen - 04/03/2008 15:04
Avatar van nemesiskoen Gouden medaille

PHP expert
Jbke, hij is asp.NET bezig. Dus messageBox gaat niet veel doen.
Offline xSc - 04/03/2008 15:18
Avatar van xSc Onbekend http://www.plaatscode.be/5913/

Using lost de fout op. Maar waarom?
Offline Abbas - 04/03/2008 15:31
Avatar van Abbas Gouden medaille

Crew .NET
Het is niet die 'Using' dat de fout oplost! De fout zat hem in het feit dat je haakjes gebruikte bij je DataReader die dan als een array gezien wordt. In je stuk waar je die 'Using' gebruikt, zet je geen haakjes. Daarom werkt het nu wel!! Probeer eens dit:
  1. Dim sqlReader As OleDBdataReader
  2. sqlReader = sqlCommand.ExecuteReader
Offline xSc - 04/03/2008 15:36
Avatar van xSc Onbekend Titjes, je hebt nog gelijk ook. Dat ga je toch niet menen dat ik zo lang naar de fout heb gezocht om die haakjes? :S

Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.217s