Avatar billede aslan Nybegynder
18. maj 2002 - 19:26 Der er 12 kommentarer og
1 løsning

interbase modtager ikke dataerne?

Jeg har oprettet denne table i interbase:

CREATE TABLE "Gaest"
(
  "gaesteNr"    INTEGER NOT NULL,
  "type"    INTEGER NOT NULL,
  "navn"    VARCHAR(30) NOT NULL,
  "efternavn"    VARCHAR(30) NOT NULL,
  "adresse"    VARCHAR(30) NOT NULL,
  "tlf"    INTEGER NOT NULL,
  "antalReservation"    INTEGER NOT NULL,
PRIMARY KEY ("gaesteNr")
);

-----------------------------------------------------
Så har jeg en metode i klassen Gaest.java :

    public void opretGaest(int nr,int type,String navn,String efterNavn,String adresse,int tlf,int antalRes)

    {
      db.Insert( "INSERT INTO Gaest VALUES('"+nr+"','"+type+"','"+navn+"','"+efterNavn+"','"+adresse+"','"+tlf+"','"+antalRes+"')" );

    }
------------------------------------------------------

Jeg kalder nu denne metode og smider data ind via:

                hentGaest.opretGaest(1,0,forNavn.getText(),efterNavn.getText(),
                adresse.getText(),new Integer(telefon.getText()).intValue(),5);
------------------------------------------------------

Men min interbase modtager ikke noget? Jeg får en SQLException som jeg fanger.
----------------------------------------------------
min connectDB.java :

import java.sql.*;

class ConnectDB
{
    private Connection con;

    ConnectDB( String url, String username, String password )
    {
        try
        {
            Class.forName( "interbase.interclient.Driver" );
            con = DriverManager.getConnection( url, username, password );
        }
        catch( ClassNotFoundException c )
        {
            System.out.println( "Kunne ikke finde driveren" );
        }
        catch( SQLException cs )
        {
            System.out.println( "Kunne ikke forbinde til databasen" );
        }
    }

    public ResultSet Select( String SQL )
    {
        ResultSet rs = null;

        try
        {
            Statement s = con.createStatement();
            rs = s.executeQuery( SQL );
        }
        catch( SQLException sc )
        {
            System.out.println( "Fejl i QUERY" );
        }

        return rs;
    }

    public void Insert( String SQL )
    {
        try
        {
            Statement s = con.createStatement();
            s.executeUpdate( SQL );
        }
        catch( SQLException sc )
        {
            System.out.println( "Fejl i QUERY" );
        }
    }
}
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 19:59 #1
Nu ved jeg ikke med interbase, men nogle SQL-er kan ikke lide '...'
omkring tal.

Men jeg forstår bare ikke: når du nu fanger de exceptions, hvorfor
får du sp ikke udskrevet hvad de siger til dig. Du leder jo i blinde
efter fejlen:

    System.out.println( "Fejl i QUERY "+sc );
Avatar billede aslan Nybegynder
18. maj 2002 - 20:03 #2
Meget sandt erikjacobsen.. nu siger den "table unknown" ? Hvordan kan den være det når jeg kan se at den oprettet i interbase og jeg peger på den i min sql query?
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 20:05 #3
Gaest eller guest ? Jeg ved det ikke. Har du en korrekt forbindelse til databasen?
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 20:05 #4
Gaest eller gaest - mente jeg ...
Avatar billede aslan Nybegynder
18. maj 2002 - 21:19 #5
Jeg har fået lavet test hvor jeg har kunne fået det til at virke før! Men lige i dette eksempel vil den ikke ?
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 21:21 #6
Har du prøvet at kalde tabellen guest og ikke Guest ?
Avatar billede aslan Nybegynder
18. maj 2002 - 21:40 #7
ja det har jeg forsøgt og nu har jeg taget mine gamle interbase test filer frem og de virker heller ikke nu... fedt. Jeg synes virkelig interbase er meget ustabil at arbejde med i forhold til mysql.
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 21:44 #8
Så har du vel ikke fået åbnet forbindelsen til databasen korrekt ,,, eller der er et
eller andet der kørte, som ikke kører, eller..... jeg vrøvler - jeg ved jo ingenting om Interbase
Avatar billede aslan Nybegynder
18. maj 2002 - 21:47 #9
hehe jeg forsøger, men synes bare at java og interbase er 10 gange svære at have med at gøre end php og mysql hvor det hele er så dejlig nemt:)
Avatar billede aslan Nybegynder
18. maj 2002 - 22:01 #10
ehm.. hvad kan en ClassFormatError betyde?
Avatar billede erikjacobsen Ekspert
18. maj 2002 - 22:02 #11
Thrown when the Java Virtual Machine attempts to read a class file and determines that the file is malformed or otherwise cannot be interpreted as a class file.
Avatar billede aslan Nybegynder
19. maj 2002 - 10:51 #13
Jeg kan simpelthen ikke blive klog på interbase... nu virker det og det eneste der åbenbart var galt var den måde jeg opretter min database:

CREATE TABLE GAEST
(
  GAESTENR    INTEGER NOT NULL,
  TYPEN        INTEGER NOT NULL,
  NAVN      VARCHAR(30) NOT NULL,
  EFTERNAVN    VARCHAR(30) NOT NULL,
  ADRESSE      VARCHAR(30) NOT NULL,
  TLF      INTEGER NOT NULL,
  ANTALRESERVATION    INTEGER NOT NULL,
PRIMARY KEY (GAESTENR)
);
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