Avatar billede filix Nybegynder
24. marts 2008 - 16:08 Der er 12 kommentarer

Insert i Access Db

Hey

Har skrevet et simple insert sætning men for some reason kommer det ikke ind i dben. Bruger ODBC igennem control panel.

Alt dataen kommer fra GUI og helt over i de forskellige variabler jeg bruger i denne methode.

Koden er sådan her
--------------------------------------------------------
public void addPlayer(String firstName, String lastName, String address, String city, int zip, int phone, String userLevel, boolean trainer, boolean elite) throws Exception {
        Connection con = DriverManager.getConnection("jdbc:odbc:TieBreak");
        try {
            PreparedStatement ps = con.prepareStatement("INSERT INTO Members(First name, Last name, Address, City, Zipcode, Birthday, Phonenumber, UserLvl, Coach, Elite,) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
            ps.setString(1, firstName);
            ps.setString(2, lastName);
            ps.setString(3, address);
            ps.setString(3, city);
            ps.setInt(5, zip);
            ps.setString(6, "0");
            ps.setInt(7, phone);
            ps.setString(8, userLevel);
            ps.setBoolean(9, elite);
            ps.setBoolean(10, trainer);       
           
       
            ps.executeQuery();
           
        } finally {
            con.close();
        }
------------------------------------------------------
Avatar billede arne_v Ekspert
24. marts 2008 - 16:11 #1
Felt navne med mellemrum i er nok et problem.

Proev:

            PreparedStatement ps = con.prepareStatement("INSERT INTO Members([First name], [Last name], Address, City, Zipcode, Birthday, Phonenumber, UserLvl, Coach, Elite) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

eller bedre: omdoeb felterne.

NB: Jeg har ogsaa fjernet et ekstra komma.
Avatar billede filix Nybegynder
24. marts 2008 - 16:15 #2
Har jeg allerede prøvet med og omdøbe felterne ... det for jeg desværre ikke noget ud af og fandt lige kommaet også hehe :) hellere ikke noget der :S
Avatar billede arne_v Ekspert
24. marts 2008 - 16:20 #3
proev ogsaa med ps.executeUpdate() fremfor ps.executeQuery()
Avatar billede arne_v Ekspert
24. marts 2008 - 16:20 #4
og saa vil det nok hjaelpe med en opdateret kode og den fejl besked du faar
Avatar billede filix Nybegynder
24. marts 2008 - 16:34 #5
har også prøvet med både update og bare execute .. men problemet er at jeg ikke for nogen error msg .. :S

men ja kan jo se fra hva du skriver at de ting jeg har fundet stort set er "fejlene"....

problemet må ligge i min odbc gennem windows ... eller i dben ..
Avatar billede arne_v Ekspert
24. marts 2008 - 16:44 #6
Hvis den ikke laver den insert saa burde den smide en SQLException.

Er du sikker paa at den exception ikke bliver "spist" ?
Avatar billede filix Nybegynder
24. marts 2008 - 16:48 #7
lige fået smidt denne fejl ud
[Microsoft][ODBC Microsoft Access Driver]COUNT field incorrect

I dben har vi et felt med auto nummerering i starten men det burde jo ikke have noget og sige.
Avatar billede arne_v Ekspert
24. marts 2008 - 17:01 #8
Og det er den SQL ? Der er jo ikke noget COUNT i den ?
Avatar billede filix Nybegynder
24. marts 2008 - 17:02 #9
nej præcis ... er helt lost nu ...
Avatar billede filix Nybegynder
24. marts 2008 - 17:08 #10
amen har fundet fejlen ...

ps.setString(3, address);
ps.setString(3, city);

find en fejl :)
Avatar billede arne_v Ekspert
24. marts 2008 - 17:17 #11
He he.

Endnu en gang brillereer ODBC med en daarlig fejlbesked.

Apropos: skal du bruge Access ?
Avatar billede filix Nybegynder
24. marts 2008 - 17:20 #12
hehe ja :)

Nej skal jeg ikke det er til et lille skole projekt, bare nemmest til og starte med når det ikke rigtig skal bruges videre.
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