Avatar billede ekoch Nybegynder
08. december 2005 - 22:45 Der er 2 kommentarer og
2 løsninger

Problemer med Java

Hej

Jeg er ny bruger af Java, så jeg har brug for hjælp.

Mit problem er at jeg har 8884 rækker data i Excel, og dataen vil jeg gerne bruge i min formel i JAVA. Når formlen er udregnet i Java vil jeg gerne have resultatet udskrevet i en tabel og bagefter sendt tilbage til Excel i et diagram.

Men mit problem lige nu er at jeg ikke kan bruge min data fra Excel i min formel i Java. Men jeg kan godt skrive min data ud i Java.

Jeg har virkelig brug for hjælp......





import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;



/**
*
* @author Ellen Koch  Nielsen
*/
public class Excel {
   
    /** Creates a new instance of Excel */
    public Excel() {
    }
   
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
        Connection c = null;
        Statement stmnt = null;
        ResultSet rs = null;
        try
        {
            Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
            c = DriverManager.getConnection( "jdbc:odbc:vejrdata", "", "" );
            stmnt = c.createStatement();
            String query = "select TempC from [sheet1$] where Time2=4560;";
            rs = stmnt.executeQuery( query );
           
         
       
           
            while( rs.next() )
            {
                System.out.println( rs.getString( "TempC" ) );
            }
            {    double lufttemperatur;
        lufttemperatur = Double.parseDouble( rs.getString( "TempC" ));
       
        String stre = javax.swing.JOptionPane.showInputDialog("Indtast middeltemperatur");
        int svaren = Integer.parseInt(stre);
               
        double middeltemperatur;
        middeltemperatur = svaren;
               
        double x;
        x = middeltemperatur - lufttemperatur;
       
        double virkningsgrad;
        virkningsgrad = 0.82;
       
        double tabskoefficient1;
        tabskoefficient1 = 3.18;
       
       
                   
       
        double E;
        E = 100;
       
        double tabskoefficient2;
        tabskoefficient2 = 0.01;
       
        // resultat af n(x) i %
        double effektligning;
        effektligning = virkningsgrad - tabskoefficient1 * (x/E) - tabskoefficient2 * ((x*x)/E);
               
        System.out.println("n(x) = " + effektligning + " % ");
            System.out.println( "Temperatur:" );
           
            }
        }
       
       

        catch( Exception e )
        {
            System.err.println( e );
       
       
        }
       
         
            try
            {
                stmnt.close();
                c.close();
            }
            catch( Exception e )
            {
                System.err.println( e );
               
     
               
            }
        }

    }
 

lige nu skriver output fra NetBeans:java.sql.SQLException: [Microsoft][ODBC Driver Manager] Markørtilstanden er ugyldig. 
Hilsen
Ellen
Avatar billede arne_v Ekspert
08. december 2005 - 23:07 #1
som forklaret i dit tidligere spørgsmål

while( rs.next() ) // hent alle rækker
            {
                System.out.println( rs.getString( "TempC" ) );
            }
// nu står du efter sidste række
            {    double lufttemperatur;
        lufttemperatur = Double.parseDouble( rs.getString( "TempC" )); // du får fejl på at hente data da du står efter sidste række
Avatar billede tjp Mester
08. december 2005 - 23:13 #2
Hvis 'scrollable result set' understøttes kan du nulstille med:

rs.beforeFirst();
Avatar billede tjp Mester
08. december 2005 - 23:21 #3
Og pakke din formel ind i en 'while'.
Altså noget a la:

while( rs.next() )
{
    System.out.println( rs.getString( "TempC" ) );
}

rs.beforeFirst();  // ny
while( rs.next() ) // ny
{    double lufttemperatur;
    lufttemperatur = Double.parseDouble( rs.getString( "TempC" ));
    String stre =
    (...)
           
}
Avatar billede ekoch Nybegynder
09. december 2005 - 09:15 #4
Tusind tak for hjælpen.
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