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 🙂