English 中文(简体)
从结果上调阵列 集邮
原标题:Moving arrays from a resultSet

我在努力执行我的少之又少。 基本上,我正试图从结果中建立阵列。 连接数据库的一套系统,以及当JFrame被称作小框架时,该数据库中的数据将阵列。

在这里,正如我所问的那样,我已经制定了完整的法典,没有人能为我找到解决办法:当然,在ava,这必须是例行的要求,就像在PHP中那样?

如果任何人都能够帮助我即将进行的大学项目,我将永远感谢。

import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;

import java.sql.Statement;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

public class mainStat extends JPanel {


BufferedImage img;
Double[] eleArray;
private Image bg;
private Image pic;
int alt_1 = normalise(eleArray[0]);
int alt_2 = normalise(eleArray[1]);
int alt_3 = normalise(eleArray[2]);
int alt_4 = normalise(eleArray[3]);
int alt_5 = normalise(eleArray[4]);
int alt_6 = normalise(eleArray[5]);
int alt_7 = normalise(eleArray[6]);
int alt_8 = normalise(eleArray[7]);
int alt_9 = normalise(eleArray[8]);
int alt_0 = normalise(eleArray[9]);
private double shop;
private double bike_shop;
private double accomadation;
int alt = 70;
JLabel label1;
private String display_distance;
static String[] eleResults;

Connection con;
Statement stmt;
ResultSet rs;
static double eleOne;
static double eleTwo;
static double eleThree;
static double eleFour;
static double eleFive;
static double eleSix;
static double eleSeven;
static double eleEight;
static double eleNine;
static double eleZero;


//add in constructor method calling paint(Graphics g)
public mainStat(String distance){
    display_distance = distance;


    label1 = new JLabel();

     setBorder(
             BorderFactory.createCompoundBorder(
                        BorderFactory.createCompoundBorder(
                                        BorderFactory.createTitledBorder("Geo-strip"),
                                        BorderFactory.createEmptyBorder(5,5,5,5)),
                        getBorder()));

     add(label1);


}

    public void paintComponent(Graphics g){
    super.paintComponent(g);

    //main GPS strip 
    try {
           img = ImageIO.read(new File("C:\test\geo_strip_box_ex.png"));

           bg = ImageIO.read(new File("C:\test\geo_strip_main_ex.png"));
       } catch (IOException e) {
       }

    // Primary indicator box
    g.setColor(Color.WHITE);
    g.fillRect(20, 45, 75, 60);
    g.drawImage(img, 10, 25, null);
    Font font = new Font("Serif", Font.PLAIN, 25);
    g.setColor(Color.BLACK);
    g.setFont(font);
    g.drawString(display_distance, 16, 80);


    // Main Geo-data
    g.drawImage(bg, 10, 25, null);

    // Altitude data
    // Point 1
    g.setColor(Color.RED);
    g.fillOval(105, alt_1, 10, 10);

    // Point 2
    g.setColor(Color.RED);
    g.fillOval(153, alt_2, 10, 10);

    // Point 3
    g.setColor(Color.RED);
    g.fillOval(201, alt_3, 10, 10);

    // Point 4
    g.setColor(Color.RED);
    g.fillOval(249, alt_4, 10, 10);

    // Point 5
    g.setColor(Color.RED);
    g.fillOval(297, alt_5, 10, 10);

    // Point 6
    g.setColor(Color.RED);
    g.fillOval(345, alt_6, 10, 10);

    // Point 7
    g.setColor(Color.RED);
    g.fillOval(394, alt_7, 10, 10);

    // Point 8
    g.setColor(Color.RED);
    g.fillOval(442, alt_8, 10, 10);

    // Point 9
    g.setColor(Color.RED);
    g.fillOval(490, alt_9, 10, 10);

    // Point 10
    g.setColor(Color.RED);
    g.fillOval(540, alt_0, 10, 10);

    // Performance blocks that are build out of an array
    //first block
    g.setColor(Color.BLUE);
    g.fillRect(108, 144, 108, 12);

    //second block
    g.setColor(Color.GREEN);
    g.fillRect(218, 144, 108, 12);

    //third block
    g.setColor(Color.ORANGE);
    g.fillRect(329, 144, 108, 12);

    //forth block
    g.setColor(Color.RED);
    g.fillRect(439, 144, 108, 12);
}
    private int normalise(double altitude){
        //Build the array once correct this part will be changed to allow data base connectivity

                ;
        //Next stage is to find the max values within the array
        double max = eleArray[0];
            for (int i = 0; i < 10; i++)
        if (eleArray[i]> max) max = eleArray[i];


        //Replicate the double loop control for the min values
        double min = eleArray[0];
            for (int i = 0; i < 10; i++)
        if (eleArray[i]< min) min = eleArray[i];

        //Now set the normalised scale; first with the minimum and then the maximum
        double minNalt = 50;
        double maxNalt = 120;

        double result = maxNalt+(altitude-min)*(minNalt-maxNalt)/(max-min);
        int aInt = (int)result;
        return aInt;
    }
        public void Result() {

        String query = "SELECT trkpt_ele FROM routes where trkseg_name =  2011-06-14 ";
        try
        {
          // Connect to the database
          //  Similar to php first I need to create a variable to connect to the MySQL database.
          String url = "jdbc:mysql://localhost:3306/bicycleinformationschema"; 

          // Now we need to include username and pass and test mysql database connection
          Connection con = DriverManager.getConnection(url,"root", "kop98mnbvcxz");

          Statement st = con.createStatement();
          ResultSet rs = st.executeQuery(query);
          ArrayList <Double> eleResults = new ArrayList<Double>();

          while (rs.next())

              eleResults.add(rs.getDouble(1));
              Double[] eleArray = eleResults.toArray(new Double[0]);


          }
        catch (SQLException ex)
        {
          System.err.println(ex.getMessage());
        }

      }
}

I really hope someone can help,

感谢

问题回答

首先,如果你期望一些有经验的方案家读(我们是人类,而不是编纂者)的话,你应当尊重登革和 Java命名公约。

问题:就我所知,你把结果保留在一个地方变量中,但你却没有做任何事,这丝毫没有发生。

EDIT:我认为,你的问题令人不安。 页: 1 当该类别是根据<代码>eleArray<>/code>开始的,但该阵列只在<代码>Result(”方法上填满。

根据定义,这种方法必须在分类开始后进行(青年可以不提及某类的未施工情况),因此这些变量无法反映数据库的考察。

d 我说,你的代码可以作一些调整,以减少fields<>>s 的使用量;相反,如果你想要使用这些技术,则用当地变量加以替代。 这将不太容易定问题,而且将使你的法典更容易理解。 你可能只需要提及一系列要点,也许有些是全球倡议的障碍(毫无疑问,没有任何理由说明为什么<代码>Connection、StatementResultSet,例如,应当是级别领域)。

事实上,我刚刚研究了你的法典,你只需要两个领域:

  • the displayDistance, which is (correctly) a constructor argument
  • A reference to the normalised results of the database query

任何其他东西要么未使用,要么只用单一方法使用。


您的数据库代码对我来说是正确的(今天,你每整整整整整整整整整整整段的“条形码”的阵列,这似乎多余但无益。

初非行成果集的典型使用方式确实是:

ResultSet rs = stmt.executeQuery("...");
List<MyDomainClass> results = new ArrayList<MyDomainClass>();

while (rs.next()) {
    MyDomainClass obj;
    // create obj by querying rs for this row

    results.add(obj);
}

以及你在此做些什么,从每一行删除了<条码>杜布尔<>/代码,并将其添加到<条码>。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签