/ 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
convertere object til string eller hva er ~
Fra : havmaage


Dato : 17-07-02 23:34

Jeg er ny i java og sidder og nørkler lidt for sjov med at hente data fra en
MS Access db og vise dem(1 record) i et tekstfelt.


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Vector;
public class FirstAppl extends Frame {
// The initial width and height of the frame
public static int WIDTH = 250;
public static int HEIGHT = 130;

public FirstAppl(String lab, String qres) {
super(lab);
setLayout(new GridLayout(4,1));
add(new JLabel("Swing Components are like AWT 1.1"));
JButton top = new JButton("Top");
top.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("top");
}
});
final TextField Te= new TextField();
Te.setText(qres);
add(Te);


final JButton bottom = new JButton("Bottom");

add(top);
add(bottom);

bottom.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

if( e.getSource() == bottom )
{
System.out.println(Te.getText());
}

}
});

}

public static void main(String s[]) {

Access ac = new Access();
ac.Access();

try {
ac.open();
} catch (SQLException e) {
e.printStackTrace();
}

Vector res = new Vector();
res = ac.doQuery("SELECT fornavn FROM person WHERE
fornavn='simon'");
//String[] result;
if (res != null && res.size() > 0) {

for (int i = 0; i < res.size(); i++) {

//System.out.println(res.elementAt(i));
String[] result=res.elementAt(i); # hvordan for jeg sat
String result = med resultet af res.elementAt(i)

}

}





FirstAppl frame = new FirstAppl("First Swing Application",result);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});

frame.setSize(WIDTH, HEIGHT);
frame.show();

}

}

Jeg før følgende fejl under kompilering

C:\java stuff\sampledir\FirstAppl.java:63: incompatible types
found : java.lang.Object
required: java.lang.String[]
String[] result=res.elementAt(i);
^
C:\java stuff\sampledir\FirstAppl.java:73: cannot resolve symbol
symbol : variable result
location: class FirstAppl
FirstAppl frame = new FirstAppl("First Swing Application",result);
^
2 errors

Process completed.

Er der nogen der kan hjælpe mig videre herfra .

Hilsen Simon



 
 
Lars Dam (18-07-2002)
Kommentar
Fra : Lars Dam


Dato : 18-07-02 07:22

On Thu, 18 Jul 2002 00:34:00 +0200, "havmaage" <shj@get2net.dk> wrote:

>Jeg er ny i java og sidder og nørkler lidt for sjov med at hente data fra en
>MS Access db og vise dem(1 record) i et tekstfelt.

> Vector res = new Vector();
> res = ac.doQuery("SELECT fornavn FROM person WHERE
>fornavn='simon'");
> //String[] result;
Sttring result; // se nedenfor
> if (res != null && res.size() > 0) {
>
> for (int i = 0; i < res.size(); i++) {
>
> //System.out.println(res.elementAt(i));
> String[] result=res.elementAt(i); # hvordan for jeg sat
>String result = med resultet af res.elementAt(i)

Din string gælder kun indenfor dette scope. Dvs. at du kan bruge
variablen inden for det 'inderste' sæt tuborgklammer. Definer result
udenfor som vist.

> }
>}
>
>Jeg før følgende fejl under kompilering
>
>C:\java stuff\sampledir\FirstAppl.java:63: incompatible types
>found : java.lang.Object
>required: java.lang.String[]
> String[] result=res.elementAt(i);

elementAt returnere et object, som du prøver at smide over i et streng
array. Dette kan du ikke direkte, du bliver nødt til at eksplicit
fortælle kompileren at dit objekt faktisk er et stren array, vha.
casting:


String[] result=(String[])res.elementAt(i);

^


>Hilsen Simon
>

vh. ld

Michael Berg (01-08-2002)
Kommentar
Fra : Michael Berg


Dato : 01-08-02 21:49

Hej,

> Jeg før følgende fejl under kompilering
>
> C:\java stuff\sampledir\FirstAppl.java:63: incompatible types
> found : java.lang.Object
> required: java.lang.String[]
> String[] result=res.elementAt(i);
> ^

Vector.elementAt() returnerer et Object af en type som compileren af gode
grunde ikke kan bestemme på kompileringstidspunktet. Du kan ikke assigne et
Object til en array, med mindre du caster det (fordi du ved bedre end
compileren):

String result[] = (String[])res.elementAt(i);

Forudsætningen er selvfølgelig at elementAt(0) rent faktisk indeholder en
array af strenge. Hvis elementet bare er en enkelt streng så gør følgende:

String result = (String)res.elementAt(i);

Mvh
/Michael



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste