Avatar billede shemeri Praktikant
17. oktober 2002 - 14:48 Der er 6 kommentarer og
1 løsning

Hvad er galt her?!

Kan nogen finde en fejl her :(

        st.executeQuery("UPDATE person SET(FirstName, LastName, Sex, DateOfBirth, Street, Number, ZipCode, City, Country, Homephone, Workphone, Fax, Email, Occupation, AdditionalInformation, DateOfRegistration) VALUES('" + Update.GetFirstName() + "','" + Update.GetLastName() + "','" + Update.GetSex() +"','" + Update.GetDateOfBirth() +"','" + Update.GetStreet() +"','" + Update.GetNr() +"','" + Update.GetZipCode() +"','" + Update.GetCity() +"','" + Update.GetCountry() +"','" + Update.GetHomephone() +"','" + Update.GetWorkphone() +"','" + Update.GetFax() +"','" + Update.GetEmail() +"','" + Update.GetOccupation() +"','" + Update.GetAdditionalInformation() +"','" + DateTime.GetCurrentDate() +"') WHERE Person_ID = '" + Update.GetID() + "')");
           
            st.executeQuery("UPDATE athlete SET(Log_ID, Tournement_ID, Record, HandicapClass) VALUES('"+"','" + Update.GetTournementID() + "','" + Update.GetRecord() + "','" + Update.GetHandicapClass() +"') WHERE Person_ID = '" + Update.GetID() + "')");


Jeg får denne fejl meddelse:
java.sql.SQLException: Syntax error or access violation: You have an error in your SQL syntax near '(FirstName, LastName, Sex, DateOfBirth, Street, Number, ZipCode, City, Country, ' at line 1
Avatar billede morw Nybegynder
17. oktober 2002 - 14:57 #1
Du bruger SET syntaxen forkert:

UPDATE tabel SET felt1 = 1, felt 2 = 2 WHERE id = 1
Avatar billede shemeri Praktikant
17. oktober 2002 - 15:02 #2
Det er faktisk det jeg gør:

st.executeQuery("UPDATE person SET(FirstName)VALUES('" + Update.GetFirstName() + "') WHERE Person_ID = '" + Update.GetID() + "')");

Altså det er en JSP Kode!
Avatar billede morw Nybegynder
17. oktober 2002 - 15:40 #3
Nej du gør ej
Avatar billede morw Nybegynder
17. oktober 2002 - 15:41 #4
Du sammenblander syntaxen for INSERT og UPDATE
Avatar billede shemeri Praktikant
17. oktober 2002 - 17:55 #5
Hvad med det her så?!

                st.executeQuery("UPDATE athlete SET Log_ID='"+"', Tournement_ID='" + Update.GetTournementID() + "', Record='" + Update.GetRecord() + "', HandicapClass='" + Update.GetHandicapClass() +"' WHERE Person_ID = '" + Update.GetID() + "'");

men jeg får meddelsen:
java.lang.NullPointerException
    at org.gjt.mm.mysql.Statement.executeQuery(Unknown Source)
Avatar billede morw Nybegynder
17. oktober 2002 - 18:20 #6
Log_ID sat til ''

En god ide er altid at gemme din query i en streng:

string minStreng;

minStreng = "UPDATE athlete SET Log_ID='"+"', Tournement_ID='" + Update.GetTournementID() + "', Record='" + Update.GetRecord() + "', HandicapClass='" + Update.GetHandicapClass() +"' WHERE Person_ID = '" + Update.GetID() + "'";

//debug
system.out.println(minStreng);

st.executeQuery(minStreng);
Avatar billede shemeri Praktikant
17. oktober 2002 - 20:28 #7
tak morw....nu virker det :)
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
Computerworld tilbyder specialiserede kurser i database-management

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