christian_w_gg
Grünschnabel
Hallo,
ich bin neu hier im Forum,da ich dringend Hilfe brauche.
Erstmal vorab - ich habe eigentlich keine Ahnung von Java, ich versuche gerade mit etwas selbst beizubringen. Nun stehe ich vor einem Problem. Ich glaube am besten poste ich meinen ganzen Quellcode:
Das Problemist,dass ich beim letzten Datenbankaufruf die Fehlermledung "Unhandled exception..." bekomme.
Des Weiteren möchte Ich die Stings Frage, antwort1-4 in eine andere Klasse übernehmen. diese 4 Strings sollen auf einem jeweiligen Button bzw Textfeld als Frage mit 4 Antwortmöglichkeiten (es soll ein Quiz werden zur erklärung) angezeigt werden.
Ich denke dass die Lösung nicht schwer ist, nur leider habe ich von Java keine Ahnung.
danke für eure Hilfe im vorraus,
MFG
chris
ich bin neu hier im Forum,da ich dringend Hilfe brauche.
Erstmal vorab - ich habe eigentlich keine Ahnung von Java, ich versuche gerade mit etwas selbst beizubringen. Nun stehe ich vor einem Problem. Ich glaube am besten poste ich meinen ganzen Quellcode:
Java:
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.*;
import java.sql.*;
import java.text.*;
public class MyActionListener implements ActionListener
{
public String PlayerName;
public NamenEingeben f;
public MyActionListener(NamenEingeben f)
{
this.f=f;
}
public void actionPerformed(ActionEvent e)
{
Object obj = e.getSource();
if(obj==f.btnWeiter)
{
PlayerName=f.tfName.getText();
Connection dbVerbindung=null;
Statement sqlStatement=null;
//String sqlString;
ResultSet resultSet=null;
int updateCounts[] = null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException f)
{
System.out.println("Fehler beim laden des Treibers"+f);
System.exit(0);
}
try
{
dbVerbindung=DriverManager.getConnection("jdbc:odbc:Daten","","");
}
catch (SQLException f)
{
System.out.println("DB-Verbindung Fehler: "+f);
System.exit(0);
}
try
{
Statement s = dbVerbindung.createStatement();
s.addBatch("INSERT INTO Spieler (Spielername) VALUES ('"+PlayerName+"')");
updateCounts = s.executeBatch();
}
catch (Exception f)
{
System.out.println("Fehler beim DB-Zugriff!"+f);
System.exit(0);
}
f.tfName.removeNotify();
f.btnWeiter.removeNotify();
f.lblName.setText("Dein Name: "+PlayerName);
try
{
Connection dbVerbindung=null;
Statement sqlStatement=null;
//String sqlString;
ResultSet resultSet=null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
dbVerbindung=DriverManager.getConnection("jdbc:odbc:Daten","","");
Statement s = dbVerbindung.createStatement();
ResultSet r = s.executeQuery("SELECT COUNT(*) AS rowcount FROM fragen WHERE schwierigkeitsgrad='leicht'");
r.next();
int ResultCount = r.getInt("rowcount") ;
System.out.println("anzahl: "+ResultCount);
r.close() ;
double zufallszahl = 1+Math.floor(Math.random()*(ResultCount-1+1));
System.out.println("zufallszahl: "+zufallszahl);
int zaehler=1;
ResultSet frageauswaehlen=s.executeQuery("SELECT * FROM fragen WHERE schwierigkeitsgrad='leicht'");
while (zaehler<=zufallszahl) {
frageauswaehlen.next();
zaehler++;
}
int index=frageauswaehlen.getInt(1);
String frage = frageauswaehlen.getString(2);
String antwort1 = frageauswaehlen.getString(3);
String antwort2 = frageauswaehlen.getString(4);
String antwort3 = frageauswaehlen.getString(5);
String antwort4 = frageauswaehlen.getString(6);
String richtigeAntwort = frageauswaehlen.getString(7);
}
catch(NumberFormatException error)
{
System.exit(0);
}
}
}
}
Des Weiteren möchte Ich die Stings Frage, antwort1-4 in eine andere Klasse übernehmen. diese 4 Strings sollen auf einem jeweiligen Button bzw Textfeld als Frage mit 4 Antwortmöglichkeiten (es soll ein Quiz werden zur erklärung) angezeigt werden.
Ich denke dass die Lösung nicht schwer ist, nur leider habe ich von Java keine Ahnung.
danke für eure Hilfe im vorraus,
MFG
chris
Zuletzt bearbeitet von einem Moderator: