![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Gast
Beiträge: n/a
|
hi all,
in die neu angelegte Spalte werden einfach keine Werte geschrieben. Sie ist in Acces einfach leer Es kommt aber auch keine Fehlermeldung Fällt jemandem was auf ? Code:
try {
stmt.executeUpdate("ALTER TABLE Mannschaft add AnzAufstellungen INTEGER");
stmt.executeUpdate("UPDATE Mannschaft SET AnzAufstellungen=10"); // geht ned !!
}
catch (SQLException sqe) {System.err.println(sqe); }]
- statt INTEGER NUMBER(4) geht nicht - als Spaltenname 'Anz Aufstellungen' geht (ohne Hichkommas gehts ned), aber in der Acces DB Ansicht heisst die Spalte dann " 'Anz Aufstellungen' " also mit Hochkommas danke im Voraus |
|
|
|
Nach oben #2 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
Erstmal zu deinen beiden Störungen.
Mit Leerzeichen im Spaltennamen wär ich immer Vorsichtig und würde es immer Vermeiden. Im Zweifelsfall ein _ statt einem Leerzeichen. Die Stellenanzahl von INTEGER-Spalten ist in den meisten Datenbanken nicht veränderbar. Liegt ganz einfach daran das INTEGER an sich ja bereits die Beschreibung einer Spalte ist, deren Inhalt (stellenmäßig) meistens ja klar ist, INTEGER darf halt so und so viel Stellen haben, also ist die Stellenanzahl nicht variabel. Kleine Zwischenfrage, warum nutzt du als Datenbank nicht HSQLDB, wo du doch eh mit Java programmierst? HSQLDB = voll in Java programmierte Datenbankengine. http://hsqldb.sourceforge.net Was deine UPDATE-Anweisung angeht, versuch mal verschiedene Schreibweisen (ich habe ehrlichgesagt noch nie versucht eine Access-Daenbank zu verwenden). stmt.executeUpdate("UPDATE Mannschaft SET AnzAufstellungen='10'"); oder kommt vielleicht sogar eine Fehlermeldung dabei raus, oder wird nur nichts ausgeführt? Ist die Spalte vielleicht schon angelegt? Dann würde er mit dem 1. Befehl (dem ALTER TABLE .. ADD) nämlich bereits einen Fehler auslösen und den TRY-Block nicht weiter ausführen. Gruß Sparrow |
|
|
|
|
|
Nach oben #3 | |||
|
Gast
Beiträge: n/a
|
jo stimmt mit Leerzeilen hast du schon recht ,lieber weglassen
zum INTEGER ... also ich moechte den Veriablentyp der Spalte ja gar nicht als INTEGER haben sondern als NUMBER ... Zitat:
Zitat:
Es kommt wie gesagt KEIN Fehler, aber die Zeile wird definitiv erreicht, denn wenn ich nen Fehler einbaue , z.B. Code:
stmt.executeUpdate("UPDATE Mannschaft SET AnzAufstellungen='aaa'");
Zitat:
hm jo ist halt die Aufgabe das mit einer Access DB zu machen , geht ja eigentlich auch fix und man kanns sichs gleich in Access anschauen was man verbrochen hat .. etc ... |
|||
|
|
|
Nach oben #4 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
Na, wenn du Access eh installiert hast, mach doch mal folgendes:
Datenbank in Access öffnen. Menüpunkt: Abfragen Neue Abfrage Und dann klickst du dir deine Abfrage zusammen. Rechtsklick ins obere Feld, Tabelle hinzufügen, Mannschaft wählen. Rechtsklick ins untere Feld, Abfragetyp wählen -> Aktualisierungsabfrage AnzAufstellung von dem Fensterchen oben nach unten in die Tabelle ziehen. Bei Aktualsierung (Update?) eintragen: 10 und dann oben links auf SQL-Ansicht. Da steht dann wie Access es für sich selbst zusammenbauen würde, und dann weißt du ob dein Syntax stimmt. Ich hoffe das mit dem Klicken ist alles richtig erklärt, ich hab schon eine Weile nicht mehr mit Access gearbeitet. Wäre super wenn du sagst obs klappt. Gruß Sparrow |
|
|
|
|
|
Nach oben #5 |
|
Gast
Beiträge: n/a
|
hi,
hab alles so gemacht, Access schustert sich das hier zusammen : UPDATE Mannschaft SET Mannschaft.AnzAufstellungen = 10; hab das nun mit stmt.executeUpdate("UPDATE Mannschaft SET Mannschaft.AnzAufstellungen = 10;"); benutzt, leider ohne Erfolg. (Keine Fehlermeldung .. nix) Wenn ich die In Access erstellte Abfrage ausführe, werden die Inhalte übrigens geschrieben ... schade |
|
|
|
Nach oben #7 | |
|
Gast
Beiträge: n/a
|
hmm da kommt leider ne Fehlermeldung :
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben. Hab aber auch schonmal ne WHERE Bedingung eingebaut z.B. Nr=1 aber dann ist die betreffende Zeile trotzdem leer ... bin mit meim Latein echt am ende ... ---------------------------------------------------- vielleicht sollte ich mal den ganzen Code posten ? (hmm wieso is code in [ java ] so farblos ? ) PHP-Code:
Zitat:
|
|
|
|
|
Nach oben #9 |
|
Sesselkleber
Registriert seit: 17.01.2005
Beiträge: 567
|
Ehrlich?
Du musstest der Connection explizit sagen, dass sie wieder geschlossen wird? Au weia, das mach ich nie. Ich habe immer eine Klasse, meistens heißt sie Conman, in der alles SQL-Teugs gemanangt wird. Dort wird auch einmalig eine Connection angelegt, und die wird erst wieder geschlossen sobald ich das Programm beende (Also beim beenden kommt extra ein con.close(); ) Sollte ich die Connection direkt nach einem Statement wieder closen? Gruß Sparrow |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Java SE 1.6 Update 2 von Sun veröffentlicht | Ben | Nachrichten | 0 | 06.07.2007 13:11 |
| [PHP] bedingung falsch statt richtig | Orolhawion | PHP-Programmierung | 9 | 06.06.2007 11:03 |
| Update der Forensoftware auf Version vB 3.6.2 | Ben | Archiv | 0 | 13.10.2006 00:15 |
| Update der Forensoftware auf Version vB 3.6.1 | Ben | Archiv | 7 | 27.09.2006 12:36 |
| Update der Forensoftware auf Version vB 3.5.3 | Ben | Archiv | 0 | 05.01.2006 16:54 |