Hi, ich habe eine FixedTable (FixedTable), die ich mit Daten aus einer SQL DB befülle.
Nun möchte ich wissen, ob sich ein Datensatz verändert hat (bei wechsel des "Projekts"), um zu fragen, ob gespeichert werden soll.
Die Tabelle sieht folgendermaßen aus:
PersNr, Name, Fkt, Abteilung, Daten (double) für 5 jahre á 12 Monate
Soll ich das über Vectoren machen? Also nach dem befüllen der Table einen Vector[][] anlegen, und beim Verlassen einen Vector[][] anlegen?
Wie werden diese dann verglichen?
Außerdem habe ich von einem Praktikanten zwei Klassen (aus einem anderem Programm) zur Verfügung gestellt bekommen. Könnt ihr mal gucken, ob die mir weiterhelfen**** Ich komm damit nicht zurecht.
Vielen Dank,
Maddin
Nun möchte ich wissen, ob sich ein Datensatz verändert hat (bei wechsel des "Projekts"), um zu fragen, ob gespeichert werden soll.
Die Tabelle sieht folgendermaßen aus:
PersNr, Name, Fkt, Abteilung, Daten (double) für 5 jahre á 12 Monate
Soll ich das über Vectoren machen? Also nach dem befüllen der Table einen Vector[][] anlegen, und beim Verlassen einen Vector[][] anlegen?
Wie werden diese dann verglichen?
Außerdem habe ich von einem Praktikanten zwei Klassen (aus einem anderem Programm) zur Verfügung gestellt bekommen. Könnt ihr mal gucken, ob die mir weiterhelfen**** Ich komm damit nicht zurecht.
Java:
package test;
import java.util.Vector;
public class VectorCompare {
public VectorCompare() {
}
XMLread xml = new XMLread();
public String[][] getChangedElements(String[] Bezeichnungen,
Vector PanelContent, Vector ResultSetContent)
throws NullPointerException {
int PanelLength = PanelContent.size();
int ResultSetLength = ResultSetContent.size();
int BezeichnungenLength = Bezeichnungen.length;
if ((PanelLength != ResultSetLength
|| PanelLength != BezeichnungenLength || ResultSetLength != BezeichnungenLength)) {
System.out.println(xml.getLabel("errorinclass")
+ "VectorCompare, Methode: getChangedElements");
throw new NullPointerException("invalid length");
}
int NumberofChanges = this.getNumberofChanges(Bezeichnungen,
PanelContent, ResultSetContent);
String[][] changedValues = new String[NumberofChanges][3];
int FillValue = 0;
for (int i = 0; i < BezeichnungenLength; i++) {
String temp = String.valueOf(ResultSetContent.get(i)).toString();
if (!(PanelContent.get(i).toString().trim().equals(ResultSetContent
.get(i)))
&& !((PanelContent.get(i).toString().trim()).equals(temp
.trim()))) {
if ((!(PanelContent.get(i).toString().trim().equals("")) || (PanelContent
.get(i).equals(null)))) {
changedValues[FillValue][0] = (String) Bezeichnungen[i];
changedValues[FillValue][1] = (String) PanelContent.get(i);
changedValues[FillValue][2] = (String) ResultSetContent
.get(i);
FillValue++;
} else if (PanelContent.get(i).toString().trim().equals("")
&& ResultSetContent.get(i) != null) {
changedValues[FillValue][0] = (String) Bezeichnungen[i];
changedValues[FillValue][1] = "NULL";
changedValues[FillValue][2] = (String) ResultSetContent
.get(i);
FillValue++;
}
}
}
return changedValues;
}
/**
* Methode gives you the number of changes<br>
* Diese Methode gibt die Anzahl der Veränderungen zurück
*
* @param Bezeichnungen
* @param PanelContent
* @param ResultSetContent
* @return ReturnValue
* @throws NullPointerException
*/
public int getNumberofChanges(String[] Bezeichnungen, Vector PanelContent,
Vector ResultSetContent) throws NullPointerException {
int PanelLength = PanelContent.size();
int ResultSetLength = ResultSetContent.size();
int BezeichnungenLength = Bezeichnungen.length;
if ((PanelLength != ResultSetLength
|| PanelLength != BezeichnungenLength || ResultSetLength != BezeichnungenLength)) {
System.out.println(xml.getLabel("errorinclass")
+ "VectorCompare, Methode: getNumberofChanges");
throw new NullPointerException("invalid length");
}
int ReturnValue = 0;
for (int i = 0; i < BezeichnungenLength; i++) {
// values from panel and resultSet are not the same
// verschiedene Werte im Panel und vom ResultSet
String temp = String.valueOf(ResultSetContent.get(i)).toString();
if (!(PanelContent.get(i).toString().trim().equals(ResultSetContent
.get(i)))
&& !((PanelContent.get(i).toString().trim()).equals(temp
.trim()))) {
if ((!(PanelContent.get(i).toString().trim().equals("")) || (PanelContent
.get(i).equals(null))))
ReturnValue++;
else if (PanelContent.get(i).toString().trim().equals("")
&& ResultSetContent.get(i) != null)
ReturnValue++;
}
}
return ReturnValue;
}
}
Java:
import java.util.Vector;
public class VectorMerge {
public VectorMerge() {
}
XMLread xml = new XMLread();
public String[][] getAllElements(String[] Bezeichnungen,
Vector PanelContent, Vector ResultSetContent)
throws NullPointerException {
int PanelLength = PanelContent.size();
int ResultSetLength = ResultSetContent.size();
int BezeichnungenLength = Bezeichnungen.length;
if ((PanelLength != ResultSetLength
|| PanelLength != BezeichnungenLength || ResultSetLength != BezeichnungenLength)) {
System.out.println(xml.getLabel("errorinclass")
+ "VectorCompare, Methode: getChangedElements");
throw new NullPointerException("invalid length");
}
int NumberofChanges = PanelLength;
String[][] changedValues = new String[NumberofChanges][3];
int FillValue = 0;
for (int i = 0; i < BezeichnungenLength; i++) {
if (!(PanelContent.get(i).equals(""))) {
changedValues[FillValue][0] = (String) Bezeichnungen[i];
changedValues[FillValue][1] = (String) PanelContent.get(i);
changedValues[FillValue][2] = (String) ResultSetContent.get(i);
FillValue++;
} else {
changedValues[FillValue][0] = (String) Bezeichnungen[i];
changedValues[FillValue][1] = "NULL";
changedValues[FillValue][2] = (String) ResultSetContent.get(i);
FillValue++;
}
}
return changedValues;
}
}
Vielen Dank,
Maddin