Avatar billede superzapper Nybegynder
23. oktober 2003 - 20:51 Der er 6 kommentarer og
1 løsning

Der er en syntaksfejl i INSERT INTO-sætningen.

Hej folkens....

Jeg har skrevet nedenstående sub-rutine og går fejlen:
Der er en syntaksfejl i INSERT INTO-sætningen.
Fatter ikke hvad fejlen er. Har testet at feldterne eksisterer i DB'en og hedder det rigtige...

På forhånd tak for hjælpen...

Sub cmdLogin_Click(sender As Object, e As EventArgs)
   
        Dim strConnect as String = "Provider=Microsoft.Jet.OLEDB.4.0;"
        strConnect += "Data Source=" & server.mappath("db/lommebog.mdb") & ";"
        strConnect += "Persist Security info=False"
   
        Dim strSQL as String = "SELECT a.brugernavn, a.password FROM brugere AS a WHERE a.brugernavn = '" & txtBrugernavn.Text & "'"
   
        Dim strBrugernavn as String
        Dim strPassword as String
   
        Dim objConnection as new OledbConnection(StrConnect)
        Dim objCommand as new OleDbCommand(StrSQL, objConnection)
   
   
        Dim objDataReader as OleDBDataReader
            objConnection.Open()
            objDataReader = objCommand.ExecuteReader()
   
   
   
            IF objDataReader.Read() THEN
                lblMessage.Text = "Det indtastede brugernavn findes allerede"
   
   
   
            ELSE
                objDataReader.close()
               
                Dim UpdateCommand As OleDbCommand = new OleDbCommand()
   
                UpdateCommand.Connection = objConnection
   
                ' Opbyg SQL-kommando
               
               
               
                UpdateCommand.CommandText = "INSERT INTO brugere (brugernavn, password)"
                UpdateCommand.CommandText += " VALUES (@brugernavn, @password)"
   
                UpdateCommand.Parameters.Add("@brugernavn", OleDBType.Varchar).Value = txtBrugernavn.Text
                UpdateCommand.Parameters.Add("@password", OleDBType.Varchar).Value = txtPassword.Text
   
               
                'response.write(UpdateCommand.CommandText)
               
                UpdateCommand.ExecuteNonQuery()  ' Udfør kommando (SQL-streng)
                         
                lblMessage.Text = "Din profil er nu oprettet - login for at komme igang"
   
            END IF
   
            objDataReader.close()
            objConnection.close()
    End Sub
Avatar billede odegaard Nybegynder
23. oktober 2003 - 21:08 #1
Gider du lige give os fejlbeskeden, så vi slipper for gætværket ?
Avatar billede odegaard Nybegynder
23. oktober 2003 - 21:10 #2
Men jeg kunne forstille mig at det er den her:
FROM brugere AS a WHERE
Prøv istedet:
FROM brugere WHERE
Avatar billede odegaard Nybegynder
23. oktober 2003 - 21:12 #3
Sorry, jeg var vist for hurtig (men jeg gætter jo også kun).
Prøv:

Dim strSQL as String = "SELECT brugere.brugernavn, brugere.password FROM brugere AS a WHERE brugere.brugernavn = '" & txtBrugernavn.Text & "'"
Avatar billede superzapper Nybegynder
23. oktober 2003 - 22:13 #4
Fejlsætningen står der (øverst)... Og det er den forkerte sql-sætning du kigger på for den du snakker om fungerer fint... Det er den nederst i koden der giver ballade (der hvor jeg indsætter i DB'en)...
Avatar billede odegaard Nybegynder
24. oktober 2003 - 00:42 #5
Ah sorry. Jeg er vant til mere uddybende (engelsksprogede) fejlmeddelelser end en kort dansk en :-)

Hvad giver din response.write(UpdateCommand.CommandText) som du har ud-kommenteret ?
Avatar billede odegaard Nybegynder
24. oktober 2003 - 00:43 #6
Lige en side-bemærkning: Du burde nu kryptere txtPassword.Text inden du kaster det ind i databasen.
Avatar billede superzapper Nybegynder
24. oktober 2003 - 10:33 #7
Jeg ha fået løst mit problem nu ved at opbygge INSERT sætningen lidt anderledes. Den måde jeg har skitseret i koden kunne jeg sq ikke få til at spille...

Jeg ved ikke så meget om hvordan man normalt håndterer kryptering.
Hvis du vil have pointene kan du fortælle mig hvordan du vil håndtere krypteringen istedet - så skal du nok få dem :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester