Probleme mit Datensätzen in MySql DB

Status
Nicht offen für weitere Antworten.

robb

Bekanntes Mitglied
Hi,

ich habe ein komisches Problem, dass mir nicht so ganz einleuchten will. Ich habe für einen Handyberater eine Datenbank angelegt mit vielen verschiedenen Informationen zu Handys. Durch ein paarmal Debuggen des Codes habe ich auch Änderungen an den Namen der Hersteller und Modelle in der Datenbank vorgenommen. Seitdem kann ich die Handys, wo der Hersteller geändert wurde, nicht mehr identifizieren.

Ein weiteres Problem ist auch, dass ich die Datenbank in der letzten Woche erweitert habe um ca 100 Handys. Nur wird mir immer nur die alte Anzahl der Handys ausgegeben.
Ich teste die gesamte Application im Moment unter Tomcat 5.5.17 und habe eine Applet-Servlet Kommunikation für die Datenbankabfrage realisiert.

mfg Robb
 

robb

Bekanntes Mitglied
Erstmal das Servlet:

Code:
import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.http.*;


public class HandyInfoServlet extends HttpServlet {
	
	
	/**
	 * Get a String-object from the applet and send it back.
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
		
		HandySelection hs;
		BaseList handylist;
		try {
			response.setContentType("application/x-java-serialized-object");

			// read a String-object from applet
			// instead of a String-object, you can transmit any object, which
			// is known to the servlet and to the applet
			InputStream in = request.getInputStream();
			ObjectInputStream inputFromApplet = new ObjectInputStream(in);
			String[] str = (String[]) inputFromApplet.readObject();
			
			hs=new HandySelection(str);
			hs.openDbCon();
			hs.startEval();
			handylist=hs.getQueue();
			hs.closeDbCon();
			// echo it to the applet
			OutputStream outstr = response.getOutputStream();
			ObjectOutputStream oos = new ObjectOutputStream(outstr);
			oos.writeObject(handylist);
			oos.flush();
			oos.close();
		} catch (Exception e) {
			e.printStackTrace();
			fl.Log(Loggable.ERROR, "Error: "+e.toString());
		}
	}
	
}

Das Applet schickt ein String-Array an das Servlet und aus diesem String Array wird in der Klasse HandySelection das SQL-Statement erstellt und verarbeitet. Dazu nochmal die Kommunikation zur DB in der Klasse HandySelection:
Code:
(..)
/**
	 * Methode mit der die Handyinfo-Liste gefüllt wird
	 *
	 */	
	private void fillHandyList() throws Exception{
		BaseList mid=new EmptyList();
		BaseList did=new EmptyList();
		BaseList fid=new EmptyList();
		BaseList tid=new EmptyList();
		BaseList final_mids=new EmptyList();
				
		con.openConnection();
		
		Statement sm=con.getStatement();
		ResultSet rs=sm.executeQuery(select_mid);
		//Model IDs ermitteln
		while (rs.next()){
			if (mid.isEmpty()){
				mid=mid.makeStack(rs.getInt("MID"));
			}
			else mid=mid.insert((Object)rs.getInt("MID"));
		}
		rs.close();
		//Technische Daten IDs ermitteln
		rs=sm.executeQuery(select_tid);
		while (rs.next()){
			if (tid.isEmpty()){
				tid=tid.makeStack((Object)rs.getInt("TID"));
			}
			else tid=tid.insert((Object)rs.getInt("TID"));
		}
		rs.close();
		//Datenübertragungs IDs ermitteln
		rs=sm.executeQuery(select_did);
		while (rs.next()){
			if (did.isEmpty()){
				did=did.makeStack((Object)rs.getInt("DID"));
			}
			else did=did.insert((Object)rs.getInt("DID"));
		}
		rs.close();
		//Funktions IDs ermitteln
		rs=sm.executeQuery(select_fid);
		while (rs.next()){
			if (fid.isEmpty()){
				fid=fid.makeStack((Object)rs.getInt("FID"));
			}
			else fid=fid.insert((Object)rs.getInt("FID"));
		}
		rs.close();
		con.releaseStatement(sm);
		//--- Die wirklichen Handys ermitteln----
		sm=con.getStatement();
		int tmp;
		for (int i=1; i<=mid.length();i++){
			tmp=new Integer(mid.getObject(i).toString());
			rs=sm.executeQuery("select TID,FID,DID from MODELTYPE_HAS_EXTRAS where MID="+tmp);
			if (rs.next()){
				//Modell ID Liste aufbauen, wenn die Technische-Daten ID, Funktions ID und Datenkommunikations ID vorhanden ist
				if (tid.isIn(rs.getInt("TID"))&&fid.isIn(rs.getInt("FID"))&&did.isIn(rs.getInt("DID"))){
					if (final_mids.isEmpty()){
						final_mids=final_mids.makeQueue(mid.getObject(i));
					}
						else final_mids=final_mids.insert(mid.getObject(i));
				}
			}
			rs.close();
		}
		//--- Handyliste erstellen
		for (int i=1; i<=final_mids.length();i++){
			tmp=new Integer(final_mids.getObject(i).toString());
			rs=sm.executeQuery("SELECT * FROM MODELTYPE_HAS_EXTRAS me, MODELTYPE m, DATACOMUNICATION d, FUNCTION f, TECHNICALDATA t"+
							   " WHERE me.mid="+tmp+" AND m.mid="+tmp+" AND me.did=d.did AND me.fid=f.fid AND me.tid=t.tid ");//ORDER BY m.PRODUCER,m.MODEL");
			if (rs.next()){
				if (handyqueue.isEmpty()){
						handyqueue=handyqueue.makeStack(getHandyinfo(rs));
				}else handyqueue=handyqueue.insert(getHandyinfo(rs));
			}
		}
		rs.close();
		con.releaseStatement(sm);
	}
(...)

Die SQL Statements stehen in den select_mid, select_tid Strings.... Und letztendlich speicher ich die wirklich gefundenen Handys in einer Handyqueue ab, die auch wieder zurückgeschickt wird an das Applet.
Kann es vielleicht auch sein, das die Grösse der Liste ein Problem für den Stream ist?
 

robb

Bekanntes Mitglied
So ich hab den Fehler behoben, es war ein Problem mit dem Statement, das ich mir zusammengebaut habe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J MySQL Hibernate: Probleme beim Speichern von OneToMany - Datensätzen Datenbankprogrammierung 2
W Probleme bei der Definition von LC_COLLATE Datenbankprogrammierung 2
TH260199 Java-Programm. Probleme bei der Umsetzung von einer Kontaktverwaltung. Datenbankprogrammierung 7
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
Kirby.exe Probleme mit docker-compose.yml Datenbankprogrammierung 4
B Probleme mit Datenbankverbindung Datenbankprogrammierung 2
N java SQL JAR - Probleme Datenbankprogrammierung 18
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
T Oracle Probleme bei getTableName Datenbankprogrammierung 8
B Probleme mit java.sql.SQLException: ResultSet closed Datenbankprogrammierung 21
D Probleme bei Einsteiger Aufgabe SQL Datenbankprogrammierung 2
M JAVA Derby INSERT probleme Datenbankprogrammierung 12
Z MySQL Probleme mit resultSet executQuery Datenbankprogrammierung 3
H Probleme mit Unicodedarstellung in Derby DB Datenbankprogrammierung 1
M MySQL probleme beim "Generate Tables from Entities" Datenbankprogrammierung 9
L Probleme mit DriverManager.getConnection(..) - Endlosschleife, Java Absturz, Keine Exception Datenbankprogrammierung 4
S Derby/JavaDB Probleme beim anlegen einer embedded DB Datenbankprogrammierung 13
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
W Probleme mit AND und OR Datenbankprogrammierung 5
D DB Tabelle in JTable anzeigen - Probleme Datenbankprogrammierung 8
Gossi CallableStatement Probleme Datenbankprogrammierung 8
D Probleme bei der Erzeugung einer Tabelle Datenbankprogrammierung 15
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
L Derby/JavaDB Derby macht Probleme Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
M Probleme mit Triggering Datenbankprogrammierung 2
F DB2 Probleme mit dem DriverManager Datenbankprogrammierung 4
S Derby/JavaDB OpenJPA, @oneToMany und Probleme Datenbankprogrammierung 2
I MySQL Probleme mit kyrillischen Zeichen Datenbankprogrammierung 2
A Derby/JavaDB Probleme beim Einbinden Datenbankprogrammierung 2
S Probleme mit INSERT Befehl Datenbankprogrammierung 11
R isLast() Probleme bei Pervasive Datenbankprogrammierung 5
S Probleme mit localhost Datenbankprogrammierung 14
M Oracle Probleme mit dem anbinden einer Oracle 10g Datenbank Datenbankprogrammierung 27
P Hibernate -> Probleme bei n:m-Relation und JUnit Datenbankprogrammierung 10
J Probleme mit Datenbankzeiger Datenbankprogrammierung 19
A Probleme mit auf DB2 Express zugreiffen Datenbankprogrammierung 6
N Probleme beim Aufruf aus der DB Datenbankprogrammierung 7
M Probleme bei Select in Schleife Datenbankprogrammierung 7
G Probleme mit Datenbankanbindung Datenbankprogrammierung 3
R Probleme mit Insert Datenbankprogrammierung 2
P Probleme mit Oracle Timestamp Datenbankprogrammierung 3
klattiator Hibernate - Probleme bei Konfiguration Datenbankprogrammierung 3
F Probleme mit entfernter DB und Hibernate Zeichensatz Datenbankprogrammierung 3
G Probleme mit der Schnittstelle H1bernate/Eclipse Datenbankprogrammierung 6
A Probleme mit Jar-File in ein Jar-File Datenbankprogrammierung 8
O Derby Performance Probleme? Datenbankprogrammierung 4
V Probleme beim Öffnen "einiger" SuperbaseTabellen p Datenbankprogrammierung 8
G Probleme beim Methodenaufruf einer EJB Datenbankprogrammierung 10
ARadauer hibernate probleme Datenbankprogrammierung 13
Y Probleme mit H2 und Primary Key Datenbankprogrammierung 4
D Probleme mit mysql-Connection Datenbankprogrammierung 10
G INNODB backup probleme Datenbankprogrammierung 2
S Probleme mit statement.close() Datenbankprogrammierung 10
A Probleme beim Schreiben in eine CSV-Datei aus einer H2-DB Datenbankprogrammierung 2
G Probleme mit Laden des JDBC-Treiber in HSQLDB Datenbankprogrammierung 2
T Probleme mit Date in H2 Datenbank Datenbankprogrammierung 2
4 Probleme mit Select abfrage Datenbankprogrammierung 4
N Probleme mit Access-DB bei einem Webserver Datenbankprogrammierung 5
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
B Oracle Driver Probleme Datenbankprogrammierung 2
I Probleme bei MySQL - Replikation Datenbankprogrammierung 2
R Probleme mit ausführbarem Jar Archiv Datenbankprogrammierung 9
F Probleme mit Jar Datei Datenbankprogrammierung 3
S String probleme Datenbankprogrammierung 3
R Probleme mit der Verbindung zum localhost Datenbankprogrammierung 12
S Probleme bei der Installation von MySQL 5.0 Datenbankprogrammierung 4
A Probleme mit ResultSet und getString(i) Datenbankprogrammierung 13
G Probleme mit Access und Join Datenbankprogrammierung 3
N Probleme mit "nur vorwärts gerichtete ResultSet" Datenbankprogrammierung 7
M Daten von MySQL nach MSSql probleme beim schreiben Datenbankprogrammierung 3
S JDBC-Anfänger und Probleme beim Treiberfinden etc. Datenbankprogrammierung 4
T Probleme beim Verbindungsaufbau zum SQL 2000 Datenbankprogrammierung 2
G Probleme mit Datenbankeinträge Datenbankprogrammierung 4
G Probleme mit Treiber (connector) Datenbankprogrammierung 20
thE_29 getBytes() - russland/bulgarien -- andere Codecs Probleme Datenbankprogrammierung 8
E Probleme mit JDBC und Executable-Jar Datenbankprogrammierung 2
G Probleme mit MySQL - Anmeldung Datenbankprogrammierung 2
P Probleme mit NullPointerException Datenbankprogrammierung 5
K MySQL: Probleme mit dem Verbinden per IP-Adresse Datenbankprogrammierung 6
T Probleme mit Datenbank Datenbankprogrammierung 6
F MySQL Einfügen von Datensätzen über Java Datenbankprogrammierung 8
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
H MySQL Ablage von vielen Datensätzen Datenbankprogrammierung 14
O SQL: Zusammenfassen von Datensätzen Datenbankprogrammierung 2
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3

Ähnliche Java Themen


Oben