Avatar billede jsl Nybegynder
11. maj 2005 - 00:40 Der er 11 kommentarer og
1 løsning

Klasser og queryDataSet1

Jeg har nedenstående kode i en klassen "jRadioButtoms_actions" og jdbTablen, der benytter sig af den i klassen "MainFrame". Koden fungere kun, når den er i samme klasse som tabellen. Hvorfor?


package elevdatabase;
import com.borland.dx.sql.dataset.*;
public class jRadioButtoms_actions extends MainFrame {
  public void jRadioB(String filter) {
    queryDataSet1.setQuery(new com.borland.dx.sql.dataset.QueryDescriptor(database1, "SELECT CPR,FORNAVN,MELLEMNAVN,EFTERNAVN,\"BY\" FROM MyTable WHERE STATUS=filter;", null, true,Load.ALL));
  }
}
Avatar billede mikkelbm Nybegynder
11. maj 2005 - 14:12 #1
Hvad er database1 ?

Hvis ovenstående er hele din klasse, tror jeg, at det er det der er problemet.
Avatar billede mikkelbm Nybegynder
11. maj 2005 - 14:13 #2
Medmindre du i MainFrame har en public eller protected variabel der hedder database1 !?
Avatar billede jsl Nybegynder
11. maj 2005 - 20:03 #3
Hvorfor skulle det være et problem, at hele koden er min klasse? Man har vel altid godt kunne bruge metoder i andre klasser?
Hvad forslår du? At jeg laver det som en metode i MainFrame? Jeg havde egentligt planer om, at putte alt det, der har noget med databasen at gøre, i én klasse.
Avatar billede mikkelbm Nybegynder
11. maj 2005 - 21:55 #4
Nej, det er ikke det jeg siger.

Det jeg siger er:

At du har en en variabel der hedder "database1" (hvor kommer den fra? - jeg kan ikke se at den bliver oprettet nogle steder)

Ligeledes har du en "queryDataSet1", som jeg heller ikke kan se hvor kommer fra.


Hvilke fejl får du?
Avatar billede jsl Nybegynder
11. maj 2005 - 23:13 #5
De kommer fra MainFrame, der er bruger denne klasse. Det er derfor jeg bruger extends.
Jeg får ingen fejl. Queryen afvikles overhovdet ikke. Den virker, hvis jeg indsætter den i MainFrame.
Forøvrigt skal der står '"+filter+"'.
Avatar billede mikkelbm Nybegynder
11. maj 2005 - 23:37 #6
Hvordan kalder du metoden? Den skal jo nu kaldes på en instans af "jRadioButtoms_actions" - altså:

jRadioButtoms_actions actions = new jRadioButtoms_actions();
jRadioButtoms_actions.jRadioB(String filter);


Det er ikke nok at have en instans af MainFrame, som jeg tror er problemet.
Avatar billede mikkelbm Nybegynder
11. maj 2005 - 23:39 #7
"De kommer fra MainFrame, der er bruger denne klasse. Det er derfor jeg bruger extends."

Dette her giver ikke helt mening. Grunden til at du extender MainFrame skal være, at du har nogle ting i MainFrame du gerne vil bruge i en subclass. Og ikke omvendt.
Avatar billede jsl Nybegynder
11. maj 2005 - 23:55 #8
Jeg laver også en instans af "jRadioButtoms_actions".
Det jeg bruger i MainFrame, er database1 og queryDataSet1.
Avatar billede mikkelbm Nybegynder
12. maj 2005 - 00:07 #9
Jeg forstår stadig ikke hvad det er du prøver på?

Du kan en superclass og en subclass. Denne superklasse indeholder så en instans af sin egen subclass? Dette giver i mine øjne ingen mening. Så kunne du ligeså godt ha' metoden i superklassen eller lade være med at extende, og så smide de nødvendige oplysninger med som parametre i metoden.
Avatar billede mikkelbm Nybegynder
12. maj 2005 - 00:08 #10
Du kan... = Du har...
Avatar billede jsl Nybegynder
15. august 2005 - 16:34 #11
mikkelbm, giv lige et svar, så du kan få point.
Avatar billede mikkelbm Nybegynder
15. august 2005 - 17:13 #12
Kommer her...
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