/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JTable indsætning ???
Fra : LiFo


Dato : 22-04-03 11:49

hej jeg har lavet et lille program hvor jeg har en masse data i en database
og viser det i en JTable

jeg har ingen erfaring med JTable så jeg indsætter mit søge resultat måske
på en dum måde
først laver jeg en søgning SELECT COUNT(*) where ... for a få at vide
hvor mange poster jeg kommer til at vise
og der efter laver jeg selve søgningen på de data jeg vil have
og så laver jeg en for sætning som sætter datane ind i et Object[][[]
og til sidst sætter mine data ind i selve tabellen med setTabelModel


er det en anden hurtigere måde at lave det på ????


her kommer koden

String searchString = jTxtFind.getText().trim();
int antal=0;
String query="SELECT COUNT(*) AS antal FROM files WHERE fileName LIKE
'%"+searchString+"%'";

System.out.println (query);
ResultSet rsA = dba.executeQuery(query);
try {
while(rsA.next()){
antal=rsA.getInt("antal");
}
} catch (Exception ex) {
System.out.println ("ERROR : MainFrame:search:Antal");
}
resultObj = new Object[antal][5];
int i =0;
try{
ResultSet rs = dba.executeQuery("SELECT * FROM files WHERE fileName
LIKE '%"+searchString+"%'");
while (rs.next()){
resultObj[i][1] = rs.getString("directory");
resultObj[i][2] = rs.getString("fileName");
resultObj[i][3] =
Status.longTilString(Long.parseLong(rs.getString("fileSize")));
resultObj[i][4] = rs.getString("fileDate");
i++;
}
}catch(SQLException e){
System.out.println ("ERROR : mainFrame:search:visposter");
}

jTable1.setModel( new DefaultTableModel(resultObj,tabelHead));



 
 
KTP (22-04-2003)
Kommentar
Fra : KTP


Dato : 22-04-03 16:33


----- Original Message -----
From: "LiFo" <ikkieg@hotmail.com>
Newsgroups: dk.edb.programmering.java
Sent: Tuesday, April 22, 2003 12:49 PM
Subject: JTable indsætning ???


> hej jeg har lavet et lille program hvor jeg har en masse data i en
database
> og viser det i en JTable
>
> jeg har ingen erfaring med JTable så jeg indsætter mit søge resultat
måske
> på en dum måde
> først laver jeg en søgning SELECT COUNT(*) where ... for a få at vide
> hvor mange poster jeg kommer til at vise
> og der efter laver jeg selve søgningen på de data jeg vil have
> og så laver jeg en for sætning som sætter datane ind i et Object[][[]
> og til sidst sætter mine data ind i selve tabellen med setTabelModel
>
>
> er det en anden hurtigere måde at lave det på ????
>
>
Jo, da
Du behøver ikke select count, du kan bare selecte og tilføje dem til en
Vector.
Tabelen initailaiserer du så på følgende måde (tror jeg da nok):
Vector data = new Vector();
Vector overskrift = new Vector();

Vector v = new Vector();
v.add("Kim");
v.add("86868686");
data.add(v);

overskrift.add("Navn");
overskrift.add("Telefonnr");

JTable tabel = JTable(new DefaultTableModel(data, overskrift));

(Jeg har ikke testet dette kode ex. så ved ik' helt om den vil fungere)



Thomas Saxtoft (29-04-2003)
Kommentar
Fra : Thomas Saxtoft


Dato : 29-04-03 14:29

Når nu der er nogen der har gjort sig umage med at gøre Java
objektorienteret, ville det da også være en smart løsning at benytte.

Hvad med at lave et objekt der indeholder de data du hiver ud af
databasen. Så kunne du passende også lave en TableModel der arbejder
med samme objekt til at gemme rækker der vises i din tabel.
I af de to andre løsninger kan vist anbefales.

Thomas Saxtoft


"KTP" <kim_tpham@oncable.dk> wrote:

>
>----- Original Message -----
>From: "LiFo" <ikkieg@hotmail.com>
>Newsgroups: dk.edb.programmering.java
>Sent: Tuesday, April 22, 2003 12:49 PM
>Subject: JTable indsætning ???
>
>
>> hej jeg har lavet et lille program hvor jeg har en masse data i en
>database
>> og viser det i en JTable
>>
>> jeg har ingen erfaring med JTable så jeg indsætter mit søge resultat
>måske
>> på en dum måde
>> først laver jeg en søgning SELECT COUNT(*) where ... for a få at vide
>> hvor mange poster jeg kommer til at vise
>> og der efter laver jeg selve søgningen på de data jeg vil have
>> og så laver jeg en for sætning som sætter datane ind i et Object[][[]
>> og til sidst sætter mine data ind i selve tabellen med setTabelModel
>>
>>
>> er det en anden hurtigere måde at lave det på ????
>>
>>
>Jo, da
>Du behøver ikke select count, du kan bare selecte og tilføje dem til en
>Vector.
>Tabelen initailaiserer du så på følgende måde (tror jeg da nok):
>Vector data = new Vector();
>Vector overskrift = new Vector();
>
>Vector v = new Vector();
>v.add("Kim");
>v.add("86868686");
>data.add(v);
>
>overskrift.add("Navn");
>overskrift.add("Telefonnr");
>
>JTable tabel = JTable(new DefaultTableModel(data, overskrift));
>
>(Jeg har ikke testet dette kode ex. så ved ik' helt om den vil fungere)
>


LiFo (29-04-2003)
Kommentar
Fra : LiFo


Dato : 29-04-03 15:00

tak for jeres ideer
jeg har lavet min indsætning om helt om og synts selv at den kører findt og
hurtigt
jeg har lavet min egen TableModel hvor jeg ændrer datane i

jeg har lavet det på denne måde

private void showAll(){
System.out.println ("starter show all");
int antalPoster=0;

ResultSet rs = dba.executeQuery("Select * FROM files f,sites s WHERE
s.siteId=f.siteId ORDER BY siteId,directory,fileName");
try{
rs.last();
antalPoster = rs.getRow();
rs.beforeFirst();
jLblFilesTotal.setText(" Files Total: "+antalPoster);
jLblFilesFound.setText(" Files found: "+antalPoster);
myTableModel.data = new Object[antalPoster][6];

int i=0;
while (rs.next()){
myTableModel.data[i][0] = rs.getString("beskrivelse");
myTableModel.data[i][1] = rs.getString("directory");
myTableModel.data[i][2] = rs.getString("fileName");
myTableModel.data[i][3] =
Status.longTilString(Long.parseLong(rs.getString("fileSize")));
myTableModel.data[i][4] = rs.getString("fileDate");
i++;
}// end while
}catch(SQLException e){
System.out.println ("ERROR :
mainFrame:ShowSearchResult:getAntalPoster"+e.toString());
}
myTableModel.fireTableDataChanged();
}




"LiFo" <ikkieg@hotmail.com> wrote in message
news:3ea51e1d$0$246$bc7fd3c@news.sonofon.dk...
> hej jeg har lavet et lille program hvor jeg har en masse data i en
database
> og viser det i en JTable
>
> jeg har ingen erfaring med JTable så jeg indsætter mit søge resultat
måske
> på en dum måde
> først laver jeg en søgning SELECT COUNT(*) where ... for a få at vide
> hvor mange poster jeg kommer til at vise
> og der efter laver jeg selve søgningen på de data jeg vil have
> og så laver jeg en for sætning som sætter datane ind i et Object[][[]
> og til sidst sætter mine data ind i selve tabellen med setTabelModel
>
>
> er det en anden hurtigere måde at lave det på ????
>
>
> her kommer koden
>
> String searchString = jTxtFind.getText().trim();
> int antal=0;
> String query="SELECT COUNT(*) AS antal FROM files WHERE fileName LIKE
> '%"+searchString+"%'";
>
> System.out.println (query);
> ResultSet rsA = dba.executeQuery(query);
> try {
> while(rsA.next()){
> antal=rsA.getInt("antal");
> }
> } catch (Exception ex) {
> System.out.println ("ERROR : MainFrame:search:Antal");
> }
> resultObj = new Object[antal][5];
> int i =0;
> try{
> ResultSet rs = dba.executeQuery("SELECT * FROM files WHERE fileName
> LIKE '%"+searchString+"%'");
> while (rs.next()){
> resultObj[i][1] = rs.getString("directory");
> resultObj[i][2] = rs.getString("fileName");
> resultObj[i][3] =
> Status.longTilString(Long.parseLong(rs.getString("fileSize")));
> resultObj[i][4] = rs.getString("fileDate");
> i++;
> }
> }catch(SQLException e){
> System.out.println ("ERROR : mainFrame:search:visposter");
> }
>
> jTable1.setModel( new DefaultTableModel(resultObj,tabelHead));
>
>



Søg
Reklame
Statistik
Spørgsmål : 177460
Tips : 31964
Nyheder : 719565
Indlæg : 6408200
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste