Hallo liebe Java-Freunde,
ich habe eine Methode geschrieben die mir einen String für eine SQL-Abfrage zusammen baut.
Hier die Klasse:
Die Methode soll sie Attribute aus der ArrayList ziehen und diese in einem String schreiben - beim ausführen bekomme ich jedoch eine NullPointerExeption!
Weiß jemand woran das liegen könnte? Bin da echt blind momentan
Grüße und vielen Dank für jeden Ratschlag
ich habe eine Methode geschrieben die mir einen String für eine SQL-Abfrage zusammen baut.
Hier die Klasse:
Java:
package testing2;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import javax.swing.event.EventListenerList;
import javax.swing.table.AbstractTableModel;
import java.io.Serializable;
public class ZaehlpunktTableModel extends AbstractTableModel {
public static final int ID_COLUMN = 0;
public static final int SENDER_COLUMN = 1;
public static final int RECEIVER_COLUMN = 2;
public static final int BEZ_COLUMN = 3;
public static final int DAT_COLUMN = 4;
public static final int ZLGER_COLUMN = 5;
public static final int OBIS_COLUMN = 6;
public static final int QUAL_COLUMN = 7;
public static final int ZLSTAND_COLUMN = 8;
public static final int ZLGR_COLUMN = 9;
public static final int STATUS_COLUMN = 10;
public static final int WANDFAK_COLUMN = 11;
private static ArrayList<Zaehlpunkt> zaehlpunkte = new ArrayList<Zaehlpunkt>();
public String whereQuery;
public String whereQuery1;
public StringBuffer whereQuery2;
public void addNewMutliData(ArrayList<Zaehlpunkt> newZaehlpunkte) {
zaehlpunkte.ensureCapacity(5000000);
System.out.println("Vor Hinzufügen: Elemente in der Liste: "
+ zaehlpunkte.size());
System.out.println("Hinzuzufügende Elemente in der Liste: "
+ newZaehlpunkte.size());
if (newZaehlpunkte.size() > 0) {
// int first = zaehlpunkte.size();
// int last = first + newZaehlpunkte.size() - 1;
zaehlpunkte.addAll(newZaehlpunkte);
// fireTableRowsInserted(first, last);
// Übergebene Liste nach hinzufügen zum TableModel leeren!
newZaehlpunkte.clear();
fireTableDataChanged();
System.out.println("Elemente in der Liste: " + zaehlpunkte.size());
}
}
public void addSingleData(Zaehlpunkt zaehlpunkt) {
int index = zaehlpunkte.size();
zaehlpunkte.add(zaehlpunkt);
fireTableRowsInserted(index, index);
}
public void remove(int index) {
System.out.println("Lösche Zeile:" + index);
try {
zaehlpunkte.remove(index);
fireTableRowsDeleted(index, index);
} catch (Exception ex) {
System.out.println("Ungeülter Intevall!!");
System.out.println("Löschen fehlgeschlagen!");
}
}
public void removeAll() {
int listEnde = zaehlpunkte.size() - 1;
for (int i = 0; i <= listEnde; i++) {
remove(0);
}
}
public int getRowCount() {
return zaehlpunkte.size();
}
public int getColumnCount() {
return 12;
}
@Override
public Class getColumnClass(int column) {
return getValueAt(0, column).getClass();
}
// Datei öffnen - Verarbeitung!
public void openFile(int index) {
String filepath = zaehlpunkte.get(index).getRef();
String anwendung = "%SystemRoot%\\system32\\notepad.exe ";
String filepath1 = anwendung + filepath;
try {
Runtime.getRuntime().exec("cmd /c" + filepath1);
} catch (IOException e) {
e.printStackTrace();
}
}
public String deliverQueryData() {
for (int i = 0; i <= zaehlpunkte.size()- 1; i++) {
System.out.println("Größe der Liste: " + zaehlpunkte.size());
if (i == 0) {
String start1 = " where zp.zp_zpbez = ";
String data1 = "\'" + zaehlpunkte.get(i).getZp_bez() + "\'";
whereQuery1 = start1 + data1;
System.out.println("Zählerlauf: " + i);
System.out.println("Zählpunktemodel Start: " + whereQuery1);
}
if (i > 0) {
String start2 = " or zp.zp_zpbez = ";
String data2 = "\'" + zaehlpunkte.get(i).getZp_bez() + "\'";
whereQuery2.append( start2);
whereQuery2.append(data2);
System.out.println("Zählerlauf: " + i);
System.out.println("Zählpunktemodel Rest: " + whereQuery2);
}
}
if(whereQuery2.length() == 0) {
String whereQuery = whereQuery1;
return whereQuery;
}else
{
String whereQuery =(whereQuery1 + whereQuery2);
return whereQuery;
}
}
public Zaehlpunkt getZaehlpunkt(int row) {
return zaehlpunkte.get(row);
}
public Object getValueAt(int row, int column) {
Zaehlpunkt zaehlpunkte1 = zaehlpunkte.get(row);
switch (column) {
case ID_COLUMN:
return zaehlpunkte1.getId();
case SENDER_COLUMN:
return zaehlpunkte1.getMsg_sender();
case RECEIVER_COLUMN:
return zaehlpunkte1.getMsg_receiver();
case BEZ_COLUMN:
return zaehlpunkte1.getZp_bez();
case DAT_COLUMN:
return zaehlpunkte1.getZp_dat();
case ZLGER_COLUMN:
return zaehlpunkte1.getZp_zlger();
case OBIS_COLUMN:
return zaehlpunkte1.getZp_obis();
case QUAL_COLUMN:
return zaehlpunkte1.getZp_qual();
case ZLSTAND_COLUMN:
return zaehlpunkte1.getZp_zlstand();
case ZLGR_COLUMN:
return zaehlpunkte1.getZp_zlgr();
case STATUS_COLUMN:
return zaehlpunkte1.getZp_status();
case WANDFAK_COLUMN:
return zaehlpunkte1.getZp_wandfak();
}
return null;
}
@Override
public String getColumnName(int columnIndex) {
String ueberschriften[] = { "Id", "Sender", "Empfänger", "Zählpunkt",
"Zählerdatum", "Gerätenummer", "OBIS-Nr", "Qualifyer",
"Zählerstand", "Ablesegrund", "Status Zählstand",
"Wandlerfaktor" };
return ueberschriften[columnIndex];
}
}
Die Methode soll sie Attribute aus der ArrayList ziehen und diese in einem String schreiben - beim ausführen bekomme ich jedoch eine NullPointerExeption!
Weiß jemand woran das liegen könnte? Bin da echt blind momentan
Grüße und vielen Dank für jeden Ratschlag