1 package systemEinstellungen
;
3 import hauptFenster
.AktiveFenster
;
4 import hauptFenster
.Reha
;
7 import java
.awt
.Component
;
8 import java
.awt
.Dimension
;
10 import java
.awt
.GridLayout
;
11 import java
.awt
.LinearGradientPaint
;
12 import java
.awt
.Rectangle
;
13 import java
.awt
.event
.ActionEvent
;
14 import java
.awt
.event
.ActionListener
;
15 import java
.awt
.event
.KeyEvent
;
16 import java
.awt
.event
.KeyListener
;
17 import java
.awt
.event
.MouseEvent
;
18 import java
.awt
.event
.MouseListener
;
19 import java
.awt
.geom
.Point2D
;
20 import java
.io
.BufferedReader
;
21 import java
.io
.BufferedWriter
;
22 import java
.io
.FileWriter
;
23 import java
.io
.IOException
;
24 import java
.io
.InputStream
;
25 import java
.io
.InputStreamReader
;
26 import java
.io
.Reader
;
27 import java
.io
.UnsupportedEncodingException
;
28 import java
.net
.MalformedURLException
;
30 import java
.net
.URLConnection
;
31 import java
.net
.URLDecoder
;
32 import java
.net
.URLEncoder
;
33 import java
.sql
.ResultSet
;
34 import java
.sql
.SQLException
;
35 import java
.sql
.Statement
;
36 import java
.util
.ArrayList
;
37 import java
.util
.Arrays
;
38 import java
.util
.Vector
;
40 import javax
.swing
.BorderFactory
;
41 import javax
.swing
.ImageIcon
;
42 import javax
.swing
.JButton
;
43 import javax
.swing
.JCheckBox
;
44 import javax
.swing
.JComboBox
;
45 import javax
.swing
.JComponent
;
46 import javax
.swing
.JLabel
;
47 import javax
.swing
.JList
;
48 import javax
.swing
.JOptionPane
;
49 import javax
.swing
.JPanel
;
50 import javax
.swing
.JProgressBar
;
51 import javax
.swing
.JScrollPane
;
52 import javax
.swing
.JTable
;
53 import javax
.swing
.JViewport
;
54 import javax
.swing
.ListCellRenderer
;
55 import javax
.swing
.SwingUtilities
;
56 import org
.jdesktop
.swingworker
.SwingWorker
;
57 import javax
.swing
.UIManager
;
58 import javax
.swing
.plaf
.ColorUIResource
;
59 import javax
.swing
.table
.DefaultTableModel
;
61 import org
.jdesktop
.swingx
.JXLabel
;
62 import org
.jdesktop
.swingx
.JXPanel
;
63 import org
.jdesktop
.swingx
.JXTable
;
64 import org
.jdesktop
.swingx
.painter
.CompoundPainter
;
65 import org
.jdesktop
.swingx
.painter
.MattePainter
;
67 //import roogle.SuchenSeite;
68 import CommonTools
.SqlInfo
;
69 import CommonTools
.JRtaTextField
;
70 import terminKalender
.ParameterLaden
;
71 //import terminKalender.TerminFenster;
72 import terminKalender
.DatFunk
;
74 import com
.jgoodies
.forms
.builder
.PanelBuilder
;
75 import com
.jgoodies
.forms
.layout
.CellConstraints
;
76 import com
.jgoodies
.forms
.layout
.FormLayout
;
78 public class SysUtilKalenderanlegen
extends JXPanel
implements KeyListener
, ActionListener
{
81 JButton knopf1
= null;
82 JButton knopf2
= null;
83 JButton knopf3
= null;
84 JButton knopf4
= null;
85 JButton knopf5
= null;
86 JButton knopf6
= null;
87 static JXLabel KalMake
= null;
88 static JXLabel FeierTag
= null;
89 static int anzahlLastDate
= -1;
91 static String repairDateStart
= "";
92 static String repairDateEnd
= "";
94 JCheckBox AZPlan
= null;
96 JScrollPane listscr
= null;
98 static JProgressBar Fortschritt
= null;
99 static JProgressBar Fortschritt2
= null;
100 static boolean dblaeuft
= false;
101 static int progress
= 0;
103 JComboBox Netz
= null;
104 JComboBox BuLand
= null;
105 static JComboBox FJahr
= null;
107 static int speed
= 100;
109 JXTable FreiTage
= null;
111 static JXLabel KalBis
= null;
113 FeiertagTableModel ftm
= null;
115 static String bisDatum
= null;
117 static Vector
<Object
> vecMasken
= new Vector
<Object
>();
118 Vector vecLeer
= new Vector();
119 public static boolean jahrOk
= false;
121 //static Vector<Object> aMaskenDaten = new Vector<Object>();
123 String
[] laender
= {"BW","BY","BE","BB","HB","HH","HE","MV","NI","NW","RP","SL","SN","ST","SH","TH"};
124 String
[] netz
= {"DSL","LAN"};
127 SysUtilKalenderanlegen(){
128 super(new GridLayout(1,1));
129 ////System.out.println("Aufruf SysUtilKalenderanlagen");
130 this.setBorder(BorderFactory
.createEmptyBorder(20, 40, 20, 0));
132 setBackgroundPainter(Reha
.thisClass
.compoundPainter
.get("SystemInit"));
134 JScrollPane jscr
= new JScrollPane();
135 jscr
.setBorder(null);
136 jscr
.setOpaque(false);
137 jscr
.getViewport().setOpaque(false);
138 jscr
.setViewportView(getAnlegenSeite());
139 jscr
.getVerticalScrollBar().setUnitIncrement(15);
143 HoleMaxDatum hmd
= new HoleMaxDatum();
144 hmd
.setzeStatement("select max(DATUM) from flexkc");
145 new SwingWorker
<Void
,Void
>(){
147 protected Void
doInBackground() throws Exception
{
148 doSucheNachFeiertagen();
155 private String
setNewRange(boolean begin
,String datum
){
158 ret
= JOptionPane
.showInputDialog(null, "<html>Geben Sie bitte das neue <b>Startdatum</b> ein: </html>", datum
);
160 ret
= JOptionPane
.showInputDialog(null, "<html>Geben Sie bitte das neue <b>Endedatum</b> ein: </html>", datum
);
162 if(ret
==null){return datum
;}
165 /************** Beginn der Methode für die Objekterstellung und -platzierung *********/
166 private JPanel
getAnlegenSeite(){
168 knopf1
= new JButton("los"); // neues Jahr in Datenbank anlegen
169 knopf1
.setPreferredSize(new Dimension(70, 20));
170 knopf1
.addActionListener(this);
171 knopf1
.setActionCommand("NeuJahr");
172 knopf1
.addKeyListener(this);
174 knopf2
= new JButton("los"); // Feiertage importieren
175 knopf2
.setPreferredSize(new Dimension(70, 20));
176 knopf2
.addActionListener(this);
177 knopf2
.setActionCommand("FTimport");
178 knopf2
.addKeyListener(this);
180 knopf3
= new JButton("hinzufügen"); // Feiertage oder Betr.-Ferien in Tabelle zuf�gen
181 knopf3
.setPreferredSize(new Dimension(70, 20));
182 knopf3
.addActionListener(this);
183 knopf3
.setActionCommand("add");
184 knopf3
.addKeyListener(this);
186 knopf4
= new JButton("entfernen"); // Feiertage oder Betr.-Ferien in Tabelle entfernen
187 knopf4
.setPreferredSize(new Dimension(70, 20));
188 knopf4
.addActionListener(this);
189 knopf4
.setActionCommand("delete");
190 knopf4
.addKeyListener(this);
192 knopf5
= new JButton("FERTIG"); // Feiertage oder Betr.-Ferien in Datenbank schreiben
193 knopf5
.setPreferredSize(new Dimension(70, 20));
194 knopf5
.addActionListener(this);
195 knopf5
.setActionCommand("take");
196 knopf5
.addKeyListener(this);
198 knopf6
= new JButton("speichern"); // Feiertage oder Betr.-Ferien in Datenbank schreiben
199 knopf6
.setPreferredSize(new Dimension(70, 20));
200 knopf6
.addActionListener(this);
201 knopf6
.setActionCommand("indbspeichern");
202 knopf6
.addKeyListener(this);
204 FreiTage
= new JXTable();
206 KalBis
= new JXLabel("");
207 KalBis
.setName("KalBis");
208 KalBis
.addMouseListener(new MouseListener(){
210 public void mouseClicked(MouseEvent e
) {
211 if(e
.getClickCount()==2){
212 repairDateStart
= setNewRange(true,repairDateStart
);
216 public void mousePressed(MouseEvent e
) {
219 public void mouseReleased(MouseEvent e
) {
222 public void mouseEntered(MouseEvent e
) {
225 public void mouseExited(MouseEvent e
) {
228 KalMake
= new JXLabel("");
229 KalMake
.setName("KalMake");
230 KalMake
.addMouseListener(new MouseListener(){
232 public void mouseClicked(MouseEvent e
) {
233 if(e
.getClickCount()==2){
234 repairDateEnd
= setNewRange(false,repairDateEnd
);
238 public void mousePressed(MouseEvent e
) {
241 public void mouseReleased(MouseEvent e
) {
244 public void mouseEntered(MouseEvent e
) {
247 public void mouseExited(MouseEvent e
) {
251 AZPlan
= new JCheckBox("");
252 AZPlan
.setOpaque(false);
255 FormLayout lay
= new FormLayout("8dlu, p:g, 130dlu, 40dlu,20dlu",
256 //1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
257 "p, 10dlu, p, 10dlu, p, 2dlu, p, 2dlu, p, 2dlu, p, 2dlu, p, 10dlu, p, 10dlu, p, 2dlu, p, 2dlu, p, 10dlu, p, 10dlu, p, 10dlu, p, 15dlu, p, 10dlu, p, 2dlu, p, 10dlu, p, 10dlu, p, 2dlu, 80dlu, 2dlu, p, 10dlu, p, 10dlu, p,2dlu, p, 2dlu, p, 2dlu, p, 2dlu, p, 2dlu, p, 10dlu, p, 10dlu, p, 10dlu, p, 10dlu");
259 PanelBuilder builder
= new PanelBuilder(lay
);
260 builder
.setDefaultDialogBorder();
261 builder
.getPanel().setOpaque(false);
262 CellConstraints cc
= new CellConstraints();
264 builder
.addSeparator("0. Voreinstellung", cc
.xyw(1, 1, 4));
265 Netz
= new JComboBox(netz
);
266 Netz
.setActionCommand("netz");
267 Netz
.addActionListener(this);
268 builder
.addLabel("Art der Netzwerkverbindung", cc
.xyw(2, 3,2));
269 builder
.add(Netz
, cc
.xy(4, 3));
270 builder
.addLabel("Sollte Ihr Rechner mit der Datenbank in einem lokalen", cc
.xyw(2, 5, 2));
271 builder
.addLabel("Netzwerk verbunden sein, können Sie die Einstellung LAN", cc
.xyw(2, 7, 2));
272 builder
.addLabel("wählen.", cc
.xy(2,9));
273 builder
.addLabel("Bei jeder anderen Art der Verbindung sind Sie mit DSL", cc
.xyw(2,11,2));
274 builder
.addLabel("auf der SICHEREN Seite!", cc
.xyw(2,13,2));
276 builder
.addSeparator("1. Kalenderdatenbank anlegen", cc
.xyw(1, 15, 4));
277 builder
.addLabel("Daten sind aktuell vorhanden bis zum Jahr ", cc
.xyw(2, 17, 2));
278 KalBis
.setForeground(Color
.RED
);
279 KalBis
.setFont(new Font("Arial",Font
.BOLD
,11));
281 builder
.add(KalBis
, cc
.xy(4,17));
283 builder
.addLabel("Arbeitszeitpläne berücksichtigen? (empfohlen)", cc
.xyw(2,19,2));
284 AZPlan
.setSelected(true);
285 builder
.add(AZPlan
, cc
.xy(4,19));
286 AZPlan
.setEnabled(false);
288 builder
.addLabel("Datenbank wird angelegt für das Jahr ", cc
.xyw(2, 21,2));
290 KalMake
.setFont(new Font("Arial",Font
.BOLD
,11));
291 KalMake
.setForeground(Color
.RED
);
292 builder
.add(KalMake
, cc
.xy(4,21));
294 builder
.addLabel("Datenbank anlegen", cc
.xyw(2,23,2));
295 builder
.add(knopf1
, cc
.xy(4,23));
297 builder
.addSeparator("Prozessfortschritt / Datenbank", cc
.xyw(2,25,3));
299 Fortschritt
= new JProgressBar ();
300 builder
.add(Fortschritt
, cc
.xyw(2, 27, 3));
303 builder
.addSeparator("2. Feiertage importieren", cc
.xyw(1, 29, 4));
305 builder
.addLabel("Bundesland auswählen", cc
.xyw(2,31,2));
306 String
[] bula
= {"Baden-Württemberg","Bayern","Berlin","Brandenburg","Bremen",
307 "Hamburg","Hessen","Meckl.-Vorpommern","Niedersachsen","Rheinland-Pfalz",
308 "Saarlan","Sachsen","Sachs.-Anhalt","Schleswig-Holstein","Thüringen"};
309 //BuLand = new JComboBox(bula);
310 BuLand
= new JComboBox(laender
);
311 BuLand
.setSelectedIndex(0);
312 builder
.add(BuLand
, cc
.xy(4,31));
314 builder
.addLabel("Kalenderjahr auswählen", cc
.xyw(2, 33,2));
315 String
[] jahr
= {"2008","2009","2010","2011","2012","2013","2014","2015","2016","2017","2018","2019","2020"};
316 FJahr
= new JComboBox(jahr
);
317 FJahr
.setSelectedIndex(0);
318 FJahr
.setActionCommand("jahr");
319 FJahr
.addActionListener(this);
320 builder
.add(FJahr
, cc
.xy(4, 33));
322 builder
.addLabel("Feiertage einlesen", cc
.xyw(2,35,2));
323 builder
.add(knopf2
, cc
.xy(4,35));
326 builder
.addSeparator("3. Feiertagsliste / Betriebsferien bearbeiten", cc
.xyw(1, 37, 4));
327 ftm
= new FeiertagTableModel();
328 String
[] dat
= {"Datum","Feiertag/Ferien","Bundesland"};
329 ftm
.setColumnIdentifiers(getColVector(dat
));
330 //klm.setDataVector((Vector) vkollegen.clone(), getColVector(kcolumn));
331 //ftm.setDataVector((Vector)vec.clone(),getColVector(dat));
332 //ftm.setDataVector((Vector)vec.clone(),getColVector(dat));
333 FreiTage
.setModel(ftm
);
335 listscr
= new JScrollPane(FreiTage
);
336 //builder.add(FreiTage, cc.xyw(2, 39,3));
337 builder
.add(listscr
, cc
.xyw(2, 39,3));
339 //FormLayout lay = new FormLayout("8dlu, p:g, 130dlu, 40dlu,20dlu",
340 /********hier neues JXPanel einbauen*******************/
341 JXPanel butpan
= new JXPanel();
342 butpan
.setOpaque(false);
343 FormLayout lay2
= new FormLayout("8dlu, p:g, 86dlu, 40dlu,4dlu,40dlu,20dlu","p");
344 CellConstraints cc2
= new CellConstraints();
345 butpan
.setLayout(lay2
);
346 butpan
.add(knopf3
, cc2
.xy(2, 1));
347 butpan
.add(knopf6
, cc2
.xy(4, 1));
348 butpan
.add(knopf4
, cc2
.xy(6, 1));
350 builder
.add(butpan
, cc
.xyw(1, 41,5));
351 //builder.add(knopf3, cc.xy(2, 41));
352 //builder.add(knopf4, cc.xy(4,41));
355 builder
.addSeparator("4. Daten in Kalender übernehmen", cc
.xyw(1, 43, 4));
357 builder
.addLabel("Die Daten aus der Liste werden in den Kalender eingetragen.", cc
.xyw(2, 45, 2));
358 //builder.addLabel("", cc.xyw(2, 47, 2));
359 builder
.addLabel("Änderungen können danach nur noch manuell im Terminplan ", cc
.xyw(2, 51, 2));
360 builder
.addLabel("oder über den Arbeitszeitplan vorgenommen werden.", cc
.xyw(2, 53, 2));
361 //builder.addLabel("", cc.xyw(2, 55, 2));
364 FeierTag
= new JXLabel("Feiertagsliste für das Jahr 9999 eintragen.");
365 builder
.add(FeierTag
, cc
.xyw(2,57,2));
366 builder
.add(knopf5
, cc
.xy(4, 57));
368 builder
.addSeparator("Prozessfortschritt / Feiertage eintragen", cc
.xyw(2,59,3));
370 Fortschritt2
= new JProgressBar ();
371 builder
.add(Fortschritt2
, cc
.xyw(2, 61, 3));
373 return builder
.getPanel();
375 private Vector
getColVector(String
[] cols
){
376 Vector col
= new Vector();
377 for(int i
= 0;i
<cols
.length
;i
++){
385 public void keyPressed(KeyEvent arg0
) {
386 // TODO Auto-generated method stub
391 public void keyReleased(KeyEvent arg0
) {
392 // TODO Auto-generated method stub
397 public void keyTyped(KeyEvent arg0
) {
398 // TODO Auto-generated method stub
403 public void actionPerformed(ActionEvent arg0
) {
404 // TODO Auto-generated method stub
407 if(arg0
.getActionCommand().equals("FTimport")){
408 SwingUtilities
.invokeLater(new Runnable(){
411 starteSession((String
)BuLand
.getSelectedItem(),(String
)FJahr
.getSelectedItem());
412 FeierTag
.setText("Feiertagsliste für das Jahr -> "+FJahr
.getSelectedItem()+" <- eintragen.");
413 } catch (IOException e
) {
414 // TODO Auto-generated catch block
415 ftm
.getDataVector().clear();
417 JOptionPane
.showMessageDialog(null, "Verbindung zu www.feiertage.net konnte nicht aufgebaut werden\n"+
418 "Ist Ihre Internetverbindung o.k.???");
427 if(arg0
.getActionCommand().equals("NeuJahr")){
428 JComponent termin
= AktiveFenster
.getFensterAlle("TerminFenster");
430 JOptionPane
.showMessageDialog (null, "Achtung!!!!! \n\nWährend der Anlage eines Kalenderjahres\n" +
431 "darf der Terminkalender aus Sicherheitsgründen nicht geöffnet sein.\n"+
432 "Beenden Sie den Terminkalender und rufen Sie diese Funktion erneut auf.\n\n");
435 String frage
= "Bitte beachten Sie!\n\n"+
436 "1. Stellen Sie sicher, dass Sie zum Zeitpunkt der Kalenderanlage möglichst der einzige Benutzer im Netzwerk sind\n"+
437 "2. Wurde die Kalenderanlage gestartet, brechen Sie den Vorgang bitte keinesfalls ab\n"+
438 "3. Die Kalenderanlage kann einige Zeit in Anspruch nehmen. Sie sehen den Fortschritt anhand des 'Laufbalkens'\n"+
439 "4. Verlassen Sie diese Seite nicht, bis das Kalenderjahr vollständig angelegt wurde\n\n"+
440 "Wollen Sie jetzt das Kalenderjahr wie folgt anlegen:\n"+
441 "angelegt wird das Jahr -> "+KalMake
.getText()+" <- \n"+
442 "automatische Übernahme der Wochenarbeitszeit -> "+(AZPlan
.isSelected() ?
"JA" : "NEIN")+" <-" ;
443 int anfrage
= JOptionPane
.showConfirmDialog(null, frage
, "Achtung wichtige Benutzeranfrage!!!!", JOptionPane
.YES_NO_OPTION
);
444 if(anfrage
== JOptionPane
.YES_OPTION
){
445 SwingUtilities
.invokeLater(new Runnable(){
449 knopfGedoense(false);
461 if(arg0
.getActionCommand().equals("add")){
462 String
[] inhalt
= {"","",""};
463 ftm
.addRow(new Vector(Arrays
.asList(inhalt
)));
464 int aktrow
= FreiTage
.getRowCount()-1;
465 FreiTage
.setRowSelectionInterval(aktrow
, aktrow
);
467 Rectangle re
= FreiTage
.getCellRect(aktrow
+1, 1, false);
468 JViewport vp
= listscr
.getViewport();
469 vp
.setView(FreiTage
);
470 vp
.setViewPosition(re
.getLocation());
471 //FreiTage.changeSelection(FreiTage.getRowCount()-1, 0, false, false);
473 //FreiTage.setEditingRow(FreiTage.getRowCount()-1);
476 if(arg0
.getActionCommand().equals("delete")){
478 while(FreiTage
.getSelectedRows().length
> 0){;
479 int[] select
= FreiTage
.getSelectedRows();
480 doAusDbLoeschen(select
[0]);
481 //ftm.removeRow(FreiTage.convertRowIndexToModel(select[0]));
482 ftm
.removeRow(select
[0]);
486 if(arg0
.getActionCommand().equals("take")){
487 SwingUtilities
.invokeLater(new Runnable(){
489 knopfGedoense(false);
495 if(arg0
.getActionCommand().equals("jahr")){
496 SwingUtilities
.invokeLater(new Runnable(){
499 FeierTag
.setText("Feiertagsliste für das Jahr -> "+FJahr
.getSelectedItem()+" <- eintragen.");
500 doSucheNachFeiertagen();
501 //System.out.println("nach doSucheNachFeiertagen");
507 if(arg0
.getActionCommand().equals("netz")){
508 if(arg0
.getSource() instanceof JComboBox
){
509 if ( ((JComboBox
)arg0
.getSource()).getSelectedItem().equals("DSL") ){
514 ////System.out.println("Dauer der Pause = "+speed+" Millisekunden");
517 if(arg0
.getActionCommand().equals("indbspeichern")){
523 private void doInDbSpeichern(){
524 if(FreiTage
.getRowCount() <= 0){
525 JOptionPane
.showMessageDialog(null,"Keine Feiertage zum Speichern vorhanden");
528 String ftjahr
= FreiTage
.getValueAt(0,0).toString().trim().substring(6);
529 //Erst alle bisherigen löschen;
530 String cmd
= "delete from feiertage where jahr='"+ftjahr
+"'";
531 SqlInfo
.sqlAusfuehren(cmd
);
532 String deutschdat
= "",sqldat
= "",feiertag
= "",buland
="";
533 for(int i
= 0; i
< FreiTage
.getRowCount();i
++){
535 deutschdat
= FreiTage
.getValueAt(i
,0).toString();
536 sqldat
= DatFunk
.sDatInSQL(deutschdat
);
537 feiertag
= FreiTage
.getValueAt(i
,1).toString().trim();
538 buland
= FreiTage
.getValueAt(i
,2).toString().trim();
539 cmd
= "insert into feiertage set datdeutsch='"+deutschdat
+"', datsql='"+sqldat
+"', "+
540 "feiertag='"+feiertag
+"', buland='"+buland
+"', jahr='"+ftjahr
+"'";
541 SqlInfo
.sqlAusfuehren(cmd
);
542 //System.out.println(cmd);
543 }catch(Exception ex
){
544 JOptionPane
.showMessageDialog(null, "Fehler bei der Anlage des Feiertages -> "+feiertag
);
547 JOptionPane
.showMessageDialog(null,"Feiertage für das Jahr "+ftjahr
+" wurden gespeichert!");
549 private void doSucheNachFeiertagen(){
550 long zeit
= System
.currentTimeMillis();
551 while(! SysUtilKalenderanlegen
.jahrOk
){
554 if(System
.currentTimeMillis()-zeit
> 5000){
555 JOptionPane
.showMessageDialog(null,"Fehler bei der Datenbank-Recherche nach Feiertagen");
557 } catch (InterruptedException e
) {
561 doErmittleFeiertage(FJahr
.getSelectedItem().toString().trim());
563 private void doErmittleFeiertage(String jahr
){
564 String cmd
= "select * from feiertage where jahr='"+jahr
+"' order by datsql";
565 Vector
<Vector
<String
>> vec
= SqlInfo
.holeFelder(cmd
);
567 Vector
<String
> dummyvec
= new Vector
<String
>();
568 for(int i
= 0;i
< vec
.size();i
++){
570 dummyvec
.add(vec
.get(i
).get(0));
571 dummyvec
.add(vec
.get(i
).get(2));
572 dummyvec
.add(vec
.get(i
).get(3));
573 ftm
.addRow((Vector
<?
>)dummyvec
.clone());
577 private void doAusDbLoeschen(int row
){
579 //JOptionPane.showMessageDialog(null,"Kein Feiertag zum Löschen ausgewählt");
582 String datum
= ftm
.getValueAt(FreiTage
.convertRowIndexToModel(row
), 0).toString();
583 String feiertag
= ftm
.getValueAt(FreiTage
.convertRowIndexToModel(row
), 1).toString();
584 String cmd
= "delete from feiertage where datdeutsch='"+datum
+"', and feiertag='"+feiertag
+"' LIMIT 1";
585 SqlInfo
.sqlAusfuehren(cmd
);
588 private void starteFTEintragen(){
589 int max
= FreiTage
.getRowCount();
591 long zeit1
= System
.currentTimeMillis();
592 String fdatum
=null, ftext
=null,sret
=null,sqldat
=null ;
593 //StringBuffer sbuf = new StringBuffer();
599 ftext
= (String
) FreiTage
.getValueAt(0,1);
600 if(ftext
.trim().equals("")){
601 JOptionPane
.showMessageDialog(null,"Bitte geben Sie eine Bezeichnung für den Feiertag/Betriebsurlaub an");
605 Fortschritt2
.setMinimum(0);
606 Fortschritt2
.setMaximum(max
-1);
607 Fortschritt2
.setStringPainted(true);
610 ProgressVerarbeiten pv
= new ProgressVerarbeiten(Fortschritt2
);
612 String tstart
= SystemConfig
.KalenderUmfang
[0];
613 String tend
= SystemConfig
.KalenderUmfang
[1];
614 String tdauer
= new Long(SystemConfig
.KalenderMilli
[1]-SystemConfig
.KalenderMilli
[0]).toString();
618 fdatum
= (String
) FreiTage
.getValueAt(i
,0);
619 ftext
= (String
) FreiTage
.getValueAt(i
,1);
621 if(! fdatum
.trim().equals("")){
622 sqldat
= DatFunk
.sDatInSQL(fdatum
);
623 sret
= "Update flexkc set ";
624 sret
= sret
+ "T1='"+"FTG "+ftext
.trim().toUpperCase()+"', N1='@FREI', TS1='"+tstart
+"', TD1='"+tdauer
+"', TE1='"+tend
+"',";
625 sret
= sret
+ "BELEGT='1' Where DATUM='"+sqldat
+"'";
626 ////System.out.println(sret);
627 SchreibeNeuenKalender snk
= new SchreibeNeuenKalender();
628 snk
.setzeStatement(String
.valueOf(sret
));
631 } catch (InterruptedException e
) {
632 // TODO Auto-generated catch block
637 JOptionPane
.showMessageDialog(null, "Feiertagübernahme beendet nach "+((System
.currentTimeMillis()-zeit1
))+" Millisekunden");
642 private void starteKraftakt(){
645 if(AZPlan
.isSelected()){
646 Fortschritt
.setMinimum(1);
647 Fortschritt
.setMaximum(99);
650 ProgressVerarbeiten pv
= new ProgressVerarbeiten(Fortschritt
);
652 for(i
= 1;i
<100;i
++){
654 String sbehandler
= (i
<10 ?
"0"+Integer
.valueOf(i
).toString()+"BEHANDLER" : Integer
.valueOf(i
).toString()+"BEHANDLER");
655 String stmtmaske
= "select * from masken where behandler = '"+sbehandler
+"' ORDER BY art";
656 new HoleMasken(stmtmaske
);
660 } catch (InterruptedException e
) {
661 // TODO Auto-generated catch block
669 // ab hier geht's dann zur Sache
677 private void knopfGedoense(boolean einschalten
){
679 knopf1
.setEnabled(false);
681 knopf1
.setEnabled(false);
683 knopf2
.setEnabled(einschalten
);
684 knopf3
.setEnabled(einschalten
);
685 knopf4
.setEnabled(einschalten
);
686 knopf5
.setEnabled(einschalten
);
687 AZPlan
.setEnabled(einschalten
);
688 BuLand
.setEnabled(einschalten
);
689 FJahr
.setEnabled(einschalten
);
693 private void starteDbAppend(){
695 // public void run(){
697 long zeit1
=System
.currentTimeMillis();
699 if(KalMake
.getText().equals("")){
705 kalTage = (DatFunk.Schaltjahr( Integer.valueOf(KalMake.getText())) ? (366) : (365));
706 Fortschritt.setMinimum(1);
707 Fortschritt.setMaximum(kalTage*99 );
708 Fortschritt.setStringPainted(true);
710 String starttag
= "01.01."+KalMake
.getText();
711 String stoptag
= "31.12."+KalMake
.getText();
713 if(repairDateStart
.trim().length() == 10 && repairDateEnd
.trim().length()==10){
714 int frage
= JOptionPane
.showConfirmDialog(null,"Vermutlich wollen Sie einen vorhandenen Kalender reparieren\n"+
715 "Der von Ihnen festgelegte Starttag = "+repairDateStart
+"\n"+
716 "Der von Ihnen festgelegte Endtag = "+repairDateEnd
+"\n"+
717 "Wollen Sie mit diesen Parametern starten?","Achtung wichtige Benutzeranfrage",JOptionPane
.YES_NO_CANCEL_OPTION
);
718 if(frage
==JOptionPane
.YES_OPTION
){
719 starttag
= repairDateStart
;
720 stoptag
= repairDateEnd
;
721 KalMake
.setText(stoptag
.substring(6));
722 }else if(frage
== JOptionPane
.CANCEL_OPTION
){
728 kalTage
= (DatFunk
.Schaltjahr( Integer
.valueOf(KalMake
.getText())) ?
(366) : (365));
729 Fortschritt
.setMinimum(1);
730 Fortschritt
.setMaximum(kalTage
*99 );
731 Fortschritt
.setStringPainted(true);
734 //String stoptag = "02.01."+KalMake.getText();
735 String akttag
= String
.valueOf(starttag
);
738 ProgressVerarbeiten pv
= new ProgressVerarbeiten(Fortschritt
);
741 while(DatFunk
.DatumsWert(akttag
) <= DatFunk
.DatumsWert(stoptag
)){
746 Runtime r
= Runtime
.getRuntime();
750 stmt
= macheStatement(DatFunk
.sDatInSQL(akttag
),
751 (ArrayList
)((Vector
)vecMasken
.get(i
-1)).get(DatFunk
.TagDerWoche(akttag
)-1),
752 (i
<10 ?
"0"+Integer
.valueOf(i
).toString()+"BEHANDLER" :Integer
.valueOf(i
).toString()+"BEHANDLER"),
753 AZPlan
.isSelected());
754 ////System.out.println(stmt);
755 SqlInfo
.sqlAusfuehren(stmt
);
756 //SchreibeNeuenKalender snk = new SchreibeNeuenKalender();
757 //snk.setzeStatement(String.valueOf(stmt));
762 } catch (InterruptedException e
) {
763 // TODO Auto-generated catch block
767 akttag
= DatFunk
.sDatPlusTage(akttag
,1);
770 JOptionPane
.showMessageDialog(null, "Kalenderanlegen beendet nach "+((System
.currentTimeMillis()-zeit1
)/1000)+" Sekunden\n\n"+"Kalender wird jetzt auf Integrität geprüft!");
773 Vector vec
= SqlInfo
.holeFelder("select min(datum),max(datum) from flexkc");
774 Reha
.kalMin
= DatFunk
.sDatInDeutsch( ((String
)((Vector
)vec
.get(0)).get(0)) );
775 Reha
.kalMax
= DatFunk
.sDatInDeutsch( ((String
)((Vector
)vec
.get(0)).get(1)) );
776 //long anztage = DatFunk.TageDifferenz(Reha.k, sneudatum)
781 String sstmt
= "select count(*) from flexkc where datum >='"+DatFunk
.sDatInSQL("01.01."+KalMake
.getText())+"' and datum <= '"+
782 DatFunk
.sDatInSQL("31.12."+KalMake
.getText())+"'" ;
783 String sanzahl
= SqlInfo
.holeEinzelFeld(sstmt
);
784 //System.out.println("sstmt = "+sstmt);
785 //System.out.println("sanzahl = "+sanzahl);
786 testanzahl
= Integer
.parseInt(sanzahl
);
788 }catch(Exception ex
){
789 ex
.printStackTrace();
791 SysUtilKalenderanlegen
.anzahlLastDate
= Integer
.parseInt(SqlInfo
.holeEinzelFeld("select count(*) from flexkc where datum = '"+((String
)((Vector
)vec
.get(0)).get(1))+"'"));
792 if( (!Reha
.kalMax
.startsWith("31.12.")) || (SysUtilKalenderanlegen
.anzahlLastDate
!= 99) || (testanzahl
!= kalTage
*99) ){
793 JOptionPane
.showMessageDialog(null,"Achtung Ihr Kalender wurde nicht korrekt angelegt!\nBitte melden Sie sich im Anwenderforum und fragen Sie nach Unterstützung");
795 JOptionPane
.showMessageDialog(null,"Der Kalender wurde korrekt angelegt, frohes Schaffen und gute Geschäfte.");
798 System.out.println("Reha.kalMax = "+Reha.kalMax);
799 System.out.println("SysUtioKalenderanlegen.anzahlLastDate = "+SysUtilKalenderanlegen.anzahlLastDate);
800 System.out.println("testeanzhl = "+testanzahl);
801 System.out.println("kalTage*99 = "+(kalTage*99));
802 System.out.println("kalTage = "+(kalTage));
803 System.out.println("KalMake.getText() = "+KalMake.getText());
805 //System.out.println("Kalenderspanne = von "+Reha.kalMin+" bis "+Reha.kalMax);
811 private String
macheStatement(String sqldat
,ArrayList list
,String sBehandler
,boolean mitmaske
){
814 int bloecke
=Integer
.valueOf( (String
) ((Vector
) list
.get(5)).get(0) );
817 sret
= "Insert into flexkc set ";
818 for (i
= 0; i
<bloecke
;i
++){
819 if(((String
)((Vector
) list
.get(1)).get(i
)).contains("\\")){
820 String replace
= ((String
)((Vector
) list
.get(1)).get(i
));
821 String
[] split
= {null,null};
822 split
= replace
.split("\\\\");
823 nummer
= split
[0]+"\\\\"+split
[1];
824 ////System.out.println("Backslashtermin = "+nummer);
827 nummer
= ((String
)((Vector
) list
.get(1)).get(i
));
830 sret
= sret
+ "T"+ (i
+1) + "='" + ((Vector
) list
.get(0)).get(i
) + "', " ;
831 sret
= sret
+ "N"+ (i
+1) + "='" + nummer
+ "', ";
832 sret
= sret
+ "TS"+ (i
+1) + "='" + ((Vector
) list
.get(2)).get(i
) + "', ";
833 sret
= sret
+ "TD"+ (i
+1) + "='" + ((Vector
) list
.get(3)).get(i
) + "', ";
834 sret
= sret
+ "TE"+ (i
+1) + "='" + ((Vector
) list
.get(4)).get(i
) + "', ";
836 sret
= sret
+ "BELEGT='"+Integer
.valueOf(bloecke
).toString()+"', DATUM='"+sqldat
+"' , BEHANDLER='"+sBehandler
+"'";
839 String tstart
= SystemConfig
.KalenderUmfang
[0];
840 String tend
= SystemConfig
.KalenderUmfang
[1];
841 String tdauer
= new Long(SystemConfig
.KalenderMilli
[1]-SystemConfig
.KalenderMilli
[0]).toString();
842 sret
= "Insert into flexkc set ";
843 sret
= sret
+ "T1='', N1='@FREI', TS1='"+tstart
+"', TD1='"+tdauer
+"', TE1='"+tend
+"',";
844 sret
= sret
+ "BELEGT='1', DATUM='"+sqldat
+"' , BEHANDLER='"+sBehandler
+"'";
849 private String
macheStatement2(String sqldat
,ArrayList list
,String sBehandler
,boolean mitmaske
){
852 int bloecke
=Integer
.valueOf( (String
) ((Vector
) list
.get(5)).get(0) );
855 //sret = "Insert into flexkc set ";
856 for (i
= 0; i
<bloecke
;i
++){
857 if(((String
)((Vector
) list
.get(1)).get(i
)).contains("\\")){
858 String replace
= ((String
)((Vector
) list
.get(1)).get(i
));
859 String
[] split
= {null,null};
860 split
= replace
.split("\\\\");
861 nummer
= split
[0]+"\\\\"+split
[1];
862 ////System.out.println("Backslashtermin = "+nummer);
865 nummer
= ((String
)((Vector
) list
.get(1)).get(i
));
868 sret
= sret
+ "T"+ (i
+1) + "='" + ((Vector
) list
.get(0)).get(i
) + "', " ;
869 sret
= sret
+ "N"+ (i
+1) + "='" + nummer
+ "', ";
870 sret
= sret
+ "TS"+ (i
+1) + "='" + ((Vector
) list
.get(2)).get(i
) + "', ";
871 sret
= sret
+ "TD"+ (i
+1) + "='" + ((Vector
) list
.get(3)).get(i
) + "', ";
872 sret
= sret
+ "TE"+ (i
+1) + "='" + ((Vector
) list
.get(4)).get(i
) + "', ";
874 sret
= sret
+ "BELEGT='"+Integer
.valueOf(bloecke
).toString()+"', DATUM='"+sqldat
+"' , BEHANDLER='"+sBehandler
+"'";
877 String tstart
= SystemConfig
.KalenderUmfang
[0];
878 String tend
= SystemConfig
.KalenderUmfang
[1];
879 String tdauer
= new Long(SystemConfig
.KalenderMilli
[1]-SystemConfig
.KalenderMilli
[0]).toString();
880 //sret = "Insert into flexkc set ";
881 sret
= sret
+ "T1='', N1='@FREI', TS1='"+tstart
+"', TD1='"+tdauer
+"', TE1='"+tend
+"',";
882 sret
= sret
+ "BELEGT='1', DATUM='"+sqldat
+"' , BEHANDLER='"+sBehandler
+"'";
887 private void starteSession(String land
,String jahr
) throws IOException
{
888 String urltext
= null;
890 urltext
= "http://www.feiertage.net/csvfile.php?state="+land
+"&year="+jahr
+"&type=csv";
891 //System.out.println("Öffne Seite: "+urltext);
893 //ftm.getDataVector().clear();
896 URL url
= new URL(urltext
);
898 URLConnection conn
= url
.openConnection();
899 ////System.out.println(conn.getContentEncoding());
902 BufferedReader inS
= new BufferedReader( new InputStreamReader( conn
.getInputStream() ));
904 while ( (text
= inS
.readLine())!= null ) {
905 String s
= makeUTF8(text
);
906 //System.out.println(s);
907 String
[] spl
= s
.split(";");
909 Vector reihe
= new Vector(Arrays
.asList(spl
));
910 ftm
.addRow((Vector
)reihe
.clone());
911 FreiTage
.setRowSelectionInterval(0, 0);
916 }catch(Exception ex
){
917 JOptionPane
.showMessageDialog(null,"Fehler bei der Auswertung von "+urltext
+"\nFehlertext: "+ex
.getMessage());
918 ex
.printStackTrace();
922 public static String
makeUTF8(final String toConvert
){
924 return new String(toConvert
.getBytes("ISO-8859-1"), "UTF-8");
925 } catch (UnsupportedEncodingException e
) {
931 // und dann zum testen vielleicht
933 public static void setJahr(String item
){
934 FJahr
.setSelectedItem(item
);
935 String ftext
= "Feiertagsliste für das Jahr "+item
+" eintragen";
936 FeierTag
.setText(ftext
);
937 //doErmittleFeiertage(item);
942 /***********************************/
943 class FeiertagTableModel
extends DefaultTableModel
{
944 public Class
getColumnClass(int columnIndex
) {
948 public boolean isCellEditable(int row
, int col
) {
949 //Note that the data/cell address is constant,
950 //no matter where the cell appears onscreen.
955 /***********************************/
956 class HoleMaxDatum
extends Thread
implements Runnable
{
957 Statement stmt
= null;
960 boolean geklappt
= false;
962 public void setzeStatement(String statement
){
963 this.statement
= statement
;
969 stmt
= (Statement
) Reha
.thisClass
.conn
.createStatement(ResultSet
.TYPE_SCROLL_SENSITIVE
,
970 ResultSet
.CONCUR_UPDATABLE
);
972 rs
= stmt
.executeQuery(this.statement
);
974 if(rs
.getString(1) != null){
975 String datum
= rs
.getString(1);
976 int altjahr
= Integer
.valueOf(datum
.substring(0,4));
977 SysUtilKalenderanlegen
.KalBis
.setText(Integer
.valueOf(altjahr
).toString());
978 SysUtilKalenderanlegen
.KalMake
.setText(Integer
.valueOf(altjahr
+1).toString());
979 //SysUtilKalenderanlegen.setJahr(Integer.valueOf(altjahr+1).toString());
980 SysUtilKalenderanlegen
.setJahr(Integer
.valueOf(altjahr
+1).toString());
981 SysUtilKalenderanlegen
.jahrOk
= true;
984 String datum
= DatFunk
.sHeute().substring(6);
985 SysUtilKalenderanlegen
.KalBis
.setText("leer");
986 SysUtilKalenderanlegen
.KalMake
.setText(datum
);
987 SysUtilKalenderanlegen
.setJahr(datum
);
988 SysUtilKalenderanlegen
.jahrOk
= true;
991 }catch(SQLException ev
){
992 //System.out.println("SQLException: " + ev.getMessage());
993 //System.out.println("SQLState: " + ev.getSQLState());
994 //System.out.println("VendorError: " + ev.getErrorCode());
997 }catch(SQLException ex
) {
998 //System.out.println("von stmt -SQLState: " + ex.getSQLState());
1005 } catch (SQLException sqlEx
) { // ignore }
1012 } catch (SQLException sqlEx
) { // ignore }
1021 /******************************************************************************/
1022 /******************************/
1024 HoleMasken(String sstmt
){
1026 // TODO Auto-generated method stub
1027 Statement stmt
= null;
1028 ResultSet rs
= null;
1031 stmt
= Reha
.thisClass
.conn
.createStatement(ResultSet
.TYPE_SCROLL_SENSITIVE
,
1032 ResultSet
.CONCUR_UPDATABLE
);
1034 rs
= stmt
.executeQuery(sstmt
);
1037 int maxbehandler
= 7;
1040 int aktbehandler
= 1;
1041 ArrayList
<Object
>aKalList
= new ArrayList
<Object
>();
1042 Vector
<Object
> aMaskenDaten
= new Vector
<Object
>();
1043 //SysUtilKalenderanlegen.aMaskenDaten.clear();
1044 //*******************SysUtilKalenderanlegen.aMaskenDaten.clear();
1045 while( (rs
.next()) ){
1046 Vector
<String
> v1
= new Vector
<String
>();
1047 Vector
<String
> v2
= new Vector
<String
>();
1048 Vector
<String
> v3
= new Vector
<String
>();
1049 Vector
<String
> v4
= new Vector
<String
>();
1050 Vector
<String
> v5
= new Vector
<String
>();
1051 Vector
<String
> v6
= new Vector
<String
>();
1053 /*in Spalte 301 steht die Anzahl der belegten Bl�cke*/
1054 int belegt
= rs
.getInt(226);
1055 /*letzte zu durchsuchende Spalte festlegen*/
1056 int ende
= (5*belegt
);
1057 maxblock
= maxblock
+ (ende
+5);
1059 /* abgeschaltet f�r Performance-Check
1060 if (aktbehandler == 1){
1061 Titel.setText(rs.getString(305));
1065 if (!SystemConfig
.vDatenBank
.get(0).get(2).equals("ADS")){
1066 for(i
=1;i
<ende
;i
=i
+5){
1067 v1
.addElement(rs
.getString(i
)!= null ? rs
.getString(i
) : "");
1068 v2
.addElement(rs
.getString(i
+1)!= null ? rs
.getString(i
+1) : "");
1069 v3
.addElement(rs
.getString(i
+2));
1070 v4
.addElement(rs
.getString(i
+3));
1071 v5
.addElement(rs
.getString(i
+4));
1072 durchlauf
= durchlauf
+1;
1075 for(i
=1;i
<ende
;i
=i
+5){
1076 v1
.addElement(rs
.getString(i
)!= null ? rs
.getString(i
) : "");
1077 v2
.addElement(rs
.getString(i
+1)!= null ? rs
.getString(i
+1) : "");
1078 v3
.addElement(rs
.getString(i
+2));
1079 v4
.addElement(rs
.getString(i
+3));
1080 v5
.addElement(rs
.getString(i
+4));
1081 durchlauf
= durchlauf
+1;
1085 v6
.addElement(rs
.getString(226)); //Anzahl
1086 v6
.addElement(rs
.getString(227)); //Art
1087 v6
.addElement(rs
.getString(228)); //Behandler
1088 v6
.addElement(rs
.getString(229)); //MEMO
1089 v6
.addElement(rs
.getString(230)); //Datum
1091 aKalList
.add(v1
.clone());
1092 aKalList
.add(v2
.clone());
1093 aKalList
.add(v3
.clone());
1094 aKalList
.add(v4
.clone());
1095 aKalList
.add(v5
.clone());
1096 aKalList
.add(v6
.clone());
1097 aMaskenDaten
.add(aKalList
.clone());
1101 SysUtilKalenderanlegen
.vecMasken
.add(aMaskenDaten
.clone());
1102 //aSpaltenDaten.add(aKalList.clone());
1105 //datenZeichnen(aSpaltenDaten);
1106 //TerminFenster.rechneMaske();
1107 ////System.out.println("Anzahl Tage = "+SysUtilKalenderanlegen.aMaskenDaten.size());
1108 ////System.out.println("Inhalt = "+SysUtilKalenderanlegen.aMaskenDaten);
1110 } catch(SQLException ex
){
1111 //System.out.println("von ResultSet SQLState: " + ex.getSQLState());
1112 //System.out.println("von ResultSet ErrorCode: " + ex.getErrorCode ());
1113 //System.out.println("ErrorCode: " + ex.getErrorCode ());
1114 //System.out.println("von ResultSet ErrorMessage: " + ex.getMessage ());
1117 } catch(SQLException ex
) {
1118 //System.out.println("von stmt -SQLState: " + ex.getSQLState());
1124 } catch (SQLException sqlEx
) { // ignore }
1131 } catch (SQLException sqlEx
) { // ignore }
1140 /******************************/
1141 class TesteKalender
{
1142 TesteKalender(String sstmt
){
1144 // TODO Auto-generated method stub
1145 Statement stmt
= null;
1146 ResultSet rs
= null;
1150 stmt
= Reha
.thisClass
.conn
.createStatement(ResultSet
.TYPE_SCROLL_SENSITIVE
,
1151 ResultSet
.CONCUR_UPDATABLE
);
1153 rs
= stmt
.executeQuery(sstmt
);
1155 tage
= rs
.getInt(1);
1156 if( tage
!= (SysUtilKalenderanlegen
.kalTage
*60) ){
1157 JOptionPane
.showMessageDialog(null,"Fehler!!!!! ---- Der Kalender wurde unvollständig angelegt!\n\n"+
1158 "Zur Sicherheit wird der fehlerhafte Kalender wieder gelöscht\n\n"+
1159 "Stellen Sie bei einem neuen Versuch die Einstellung\n"+
1160 "'Art der Netzwerkverbindung' auf -> DSL");
1162 JOptionPane
.showMessageDialog(null,"Kalender wurde perfekt angelegt");
1165 } catch(SQLException ex
){
1166 //System.out.println("von ResultSet SQLState: " + ex.getSQLState());
1167 //System.out.println("von ResultSet ErrorCode: " + ex.getErrorCode ());
1168 //System.out.println("ErrorCode: " + ex.getErrorCode ());
1169 //System.out.println("von ResultSet ErrorMessage: " + ex.getMessage ());
1172 } catch(SQLException ex
) {
1173 //System.out.println("von stmt -SQLState: " + ex.getSQLState());
1179 } catch (SQLException sqlEx
) { // ignore }
1186 } catch (SQLException sqlEx
) { // ignore }
1195 /******************************/
1198 class ProgressVerarbeiten
extends SwingWorker
<Void
,JComponent
>{
1199 JProgressBar jpb
= null;
1200 ProgressVerarbeiten(JComponent laufbalken
){
1201 jpb
= (JProgressBar
) laufbalken
;
1204 protected synchronized Void
doInBackground() throws Exception
{
1205 while(SysUtilKalenderanlegen
.dblaeuft
){
1207 SysUtilKalenderanlegen.Fortschritt.setValue(SysUtilKalenderanlegen.progress);
1208 SysUtilKalenderanlegen.Fortschritt.repaint();
1210 jpb
.setValue(SysUtilKalenderanlegen
.progress
);
1220 class SchreibeNeuenKalender
extends Thread
implements Runnable
{
1221 Statement stmt
= null;
1222 ResultSet rs
= null;
1224 boolean geklappt
= false;
1226 public void setzeStatement(String statement
){
1227 this.statement
= statement
;
1230 public synchronized void run(){
1231 //Vector treadVect = new Vector();
1233 stmt
= (Statement
) Reha
.thisClass
.conn
.createStatement(ResultSet
.TYPE_SCROLL_SENSITIVE
,
1234 ResultSet
.CONCUR_UPDATABLE
);
1236 geklappt
= stmt
.execute(this.statement
);
1238 }catch(SQLException ev
){
1239 //System.out.println("SQLException: " + ev.getMessage());
1240 //System.out.println("SQLState: " + ev.getSQLState());
1241 //System.out.println("VendorError: " + ev.getErrorCode());
1244 }catch(SQLException ex
) {
1245 //System.out.println("von stmt -SQLState: " + ex.getSQLState());
1252 } catch (SQLException sqlEx
) { // ignore }
1259 } catch (SQLException sqlEx
) { // ignore }