Deel van mijn Code word niet uitgevoerd..

Status
Niet open voor verdere reacties.

thijsvn

Gebruiker
Lid geworden
6 mrt 2009
Berichten
25
Beste Allen,
Ik zit met het volgende probleem. Ik ben een stukje software aan het schrijven om voor het bedrijf waar ik voor werk de contacten bij te houden. Ik maak hierbij gebruik van Visual Studio 2010 Express en een SQL Compact Edition 3.5 Database om de Contactpersonen op te slaan.

Mijn Code is de Volgende:

Code:
Imports System.Data.SqlServerCe

Module GetContact

    Public Structure Contact
        Public Name, Address, Zipcode, City, CFunction As String
    End Structure
    Public Function Name(ByVal NameStr As String, ByVal ConnStr As String) As Contact
        Dim CN As New SqlCeConnection
        Dim CMD As New SqlCeCommand
        Dim SearchedContact As Contact
        Dim Reader As SqlCeDataReader

        CN.ConnectionString = ConnStr
        CMD.Connection = CN
        CMD.CommandText = "SELECT * FROM Contacts WHERE Name = '" & NameStr & "'''"
        CN.Open()

        Reader = CMD.ExecuteReader
        While Reader.Read
            SearchedContact.Name = Convert.ToString(Reader.Item("Name"))
            MsgBox(SearchedContact.Name)
            SearchedContact.Address = Convert.ToString(Reader.Item("Adress"))
            SearchedContact.Zipcode = Convert.ToString(Reader.Item("Zipcode"))
            SearchedContact.City = Convert.ToString(Reader.Item("City"))
        End While

        CN.Close()

        Return SearchedContact
    End Function
End Module

Het Probleem is dat de SearchedContact Variabele leeg blijft omdat hij de While loop niet uitvoerd (Ik denk dit omdat de MsgBox na de 1e regel niet op het scherm verschijnt, dit is trouwens ook de enige reden van zijn bestaan).

Kan iemand mij verlichten?
 
Laatst bewerkt:
Het kan zijn dat hij stopt met de code als er een fout inzit.
Ik doe meestal na elke regel een Msgbox zetten met nr's en dan weet ik precies op
welke regel de fout zit mischien proberen. of een Try, Catch, End Try erin.
 
Ik had al met wat msgboxen gewerkt. Hij stopt na de regel:

Code:
Reader = CMD.ExecuteReader

Inmiddels ook een try catch block er omheen gezet. Maar hij geeft geen fouten..

Iemand nog ideeën?
 
Opgelost!

Ik had een typefout zitten in het SQL Commando..

Code:
CMD.CommandText = "SELECT * FROM Contacts WHERE Name = '" & NameStr & "'''"

twee keer ' te veel. nu veranderd naar :

Code:
CMD.CommandText = "SELECT * FROM Contacts WHERE Name = '" & NameStr & "'"

en het werkt als een zonnetje
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan