Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 04:54 Der er 8 kommentarer og
1 løsning

SQL Syntax Problemer

Jeg har en SQL forespørgsel. Jeg har fået forbindelse til databasen, men dette ene statement virker ikke. Jeg har lavet følgende statement.

1: Skal indsætte nogle nye værdier for en employee, der har et bestemt cpr nummer.

Jeg har lavet følgende statement men det virker ikke, men kommer heller ikke med nogle fejl, Mærkeligt! Tror muligvis det er nogle parentesfejl eller andet,

int rs = state.executeUpdate("UPDATE (fname, mname, lname, cpr, adresse, emtime, wunder) VALUES ('" + thelname + "', '" + themname + "', '" + thelname + "', '" + thecpr + "', '" + theadresse + "', '" + theemtime + "', '" + thewunder +"') FROM employee where cpr = '"+ cprGui +"'");
         
Det kompilerer fint, men virker vare ikke.

Tabellen employee indeholder fname, mname, lname, cpr, adresse, emtime, wurder og disse skal ændres med nogle nye værdier der er fundet via variablerne thefname, the mname, thelname, thecpr, theadresse, theemtime, the wurder. Men værdierne skal kun ændres for den employee der har cprGui tilfælles.
Avatar billede arne_v Ekspert
11. april 2005 - 07:02 #1
Forkert SQL syntax.

int rs = state.executeUpdate("INSERT INTO employee (fname, mname, lname, cpr, adresse, emtime, wunder) VALUES ('" + thelname + "', '" + themname + "', '" + thelname + "', '" + thecpr + "', '" + theadresse + "', '" + theemtime + "', '" + thewunder +"')");
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:20 #2
Ja men hvordan får jeg WHERER cpr = cprGui ind
Avatar billede arne_v Ekspert
11. april 2005 - 10:26 #3
Det giver inegn emening at have en WHERE i en ISNERT fordi den laver altid en ny række.

Hvis du vil rette i en eksisterende række er det:

UPDATE t SET f1=X,f2=Y WHERE f3=Z
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:37 #4
Ok men jeg skal også Update en række
Avatar billede arne_v Ekspert
11. april 2005 - 10:50 #5
Så er det 10:26:23 syntaxen
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 10:53 #6
ok den skrives så sådan her

int rs = state.executeUpdate("UPDATE employee SET fname=thefname, lname=thelname WHERE cpr=cprGui");

eller?
Avatar billede arne_v Ekspert
11. april 2005 - 10:55 #7
int rs = state.executeUpdate("UPDATE employee SET fname='" + thefname + "', lname='" + thelname + "' WHERE cpr='" + cprGui + "'");

tror jeg
Avatar billede noerdar-dilling Nybegynder
11. april 2005 - 11:02 #8
ok tak prøver
Avatar billede arne_v Ekspert
26. april 2005 - 00:06 #9
OK ?
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
Kurser inden for grundlæggende programmering

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