MySQl und Java

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo!

Ich habe eine MySQL Datenbank und den ODBC Connector installiert. Nun will ich über ein Servlet eine Verbindung zu dieser Datenbank herstellen. Aber irgendwie funktioniert das nicht. Ich glaube das Problem liegt entweder an der Datenbankverbindung und/oder am Insert:

Datenbankverbindung:

public void init() throws ServletException
{
String Treiber = "sun.jdbc.odbc.JdbcOdbcDriver";
String URL = "jdbc😱dbc:Fitness";
String User = "root";
String Passwort = "root";


try {
Class.forName(Treiber);
con = DriverManager.getConnection(URL, User, Passwort);
}
catch (Exception ex) {
log(ex.getMessage());
}

Insert:

Statement stmt = con.createStatement();
String query = "insert into Mitgliedsdaten values ('"+strTextfeld1+"','"+strTextfeld2+
"','"+strTextfeld3+"','"+strTextfeld4+"','"+strTextfeld5+"','"+strTextfeld6+"','"+strTextfeld7+
"','"+strTextfeld8+"','"+strTextfeld9+"','"+strTextfeld10+"','"+strTextfeld11+"','"+strTextfeld12+
"','"+strTextfeld13+"','"+strTextfeld14+"','"+strTextfeld15+"','"+strTextfeld16+"','"+strTextfeld17+"')";
stmt.execute(query);

Noch eine Frage:

Ich habe in der Tabelle für den Primary Key smallint und auto_increment eingegeben. Muß ich das auto_increment beim insert beachten oder kann ich gleich mit dem nächsten Wert anfangen?

Danke für alle Antworten!!!
 
so wie du es gemacht hast musst du alle spalten angeben, und für den autoincrementer NULL eintragen

was ist denn der Fehler??
 
Hier einmal der Quellcode:

package fitness;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

public class NeuesMitglied extends HttpServlet implements Serializable
{
Connection con = null;
private static final String CONTENT_TYPE = "text/html";

//Initialize global variables
public void init() throws ServletException
{
String Treiber = "sun.jdbc.odbc.JdbcOdbcDriver";
String URL = "jdbc😱dbc:Fitness";
String User = "root";
String Passwort = "root";


try {
Class.forName(Treiber);
con = DriverManager.getConnection(URL, User, Passwort);
}
catch (Exception ex) {
log(ex.getMessage());
}

}

//Process the HTTP Get request
public void service(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException

{
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();



Eintrag neuerEintrag = new Eintrag();
neuerEintrag.aufnehmen(request);
neuerEintrag.printHTML(out,request.getRequestURI());

String action = request.getParameter("auswahl");
if (action != null)
{
try
{
if (action.equals("insert"))
{
neuerEintrag.speichern(con,out);
}
}
catch (Exception ex)
{
log(ex.toString());
}
}
}



class Eintrag {
String strTextfeld1 = null;
String strTextfeld2 = null;
String strTextfeld3 = null;
String strTextfeld4 = null;
String strTextfeld5 = null;
String strTextfeld6 = null;
String strTextfeld7 = null;
String strTextfeld8 = null;
String strTextfeld9 = null;
String strTextfeld10 = null;
String strTextfeld11 = null;
String strTextfeld12 = null;
String strTextfeld13 = null;
String strTextfeld14 = null;
String strTextfeld15 = null;
String strTextfeld16 = null;
String strTextfeld17 = null;
public void aufnehmen(HttpServletRequest request)
{
strTextfeld1 = request.getParameter("Name");
strTextfeld2 = request.getParameter("Vorname");
strTextfeld3 = request.getParameter("Strasse");
strTextfeld4 = request.getParameter("Hausnummer");
strTextfeld5 = request.getParameter("PLZ");
strTextfeld6 = request.getParameter("Wohnort");
strTextfeld7 = request.getParameter("Telefon");
strTextfeld8 = request.getParameter("Handy");
strTextfeld9 = request.getParameter("EMail");
strTextfeld10 = request.getParameter("Geburtsdatum");
strTextfeld11 = request.getParameter("Bild");
strTextfeld12 = request.getParameter("Beitrag");
strTextfeld13 = request.getParameter("BLZ");
strTextfeld14 = request.getParameter("Kreditinstitut");
strTextfeld15 = request.getParameter("Kontonummer");
strTextfeld16 = request.getParameter("Vertragsbeginn");
strTextfeld17 = request.getParameter("Vertragsende");
}
public void speichern (Connection con, PrintWriter out) throws SQLException
{
Statement stmt = con.createStatement();
String query = "insert into Mitgliedsdaten (BID,Name,Vorname,Strasse,Hausnummer,PLZ,Wohnort, Telefon,Handy,EMail,Geburtsdatum,Bild,Beitrag,BLZ,Kreditinstitut,Kontonummer, Vertragsbeginn,Vertragsende) values (NULL,'"+strTextfeld1+"','"+strTextfeld2+
"','"+strTextfeld3+"','"+strTextfeld4+"','"+strTextfeld5+"','"+strTextfeld6+"','"+strTextfeld7+
"','"+strTextfeld8+"','"+strTextfeld9+"','"+strTextfeld10+"','"+strTextfeld11+"','"+strTextfeld12+
"','"+strTextfeld13+"','"+strTextfeld14+"','"+strTextfeld15+"','"+strTextfeld16+"','"+strTextfeld17+"')";
stmt.execute(query);
out.println("Neues Mitglied erfolgreich eingetragen");
}

protected void printHTML(PrintWriter out, String servletPath) throws
ServletException, IOException
{
int i = servletPath.indexOf('?');
if (i != -1) servletPath = servletPath.substring(0, i);

out.println("<html>");
out.println("<head>");
out.println("<title>Neues Mitglied</title>");
out.println("</head>");
out.println("<body text='#000000' bgcolor='#FFFF00' link='#FF0000' alink='#FF0000' vlink='#FF0000'>");
out.println("<center>");
out.println("<h1>Neues Mitglied aufnehmen</h1>");
out.println("</center>");
out.println("<form action='" + servletPath + "' method='post' target=''>");
out.println("<h3><u>Mitgliederdaten:</u></h3>");
out.println("<center>");
out.println("<table>");
out.println("<input type='hidden' name='auswahl' value='insert'>");
out.println("<tr>");
out.println("<td><font size=+1>Name:</font></td>");
out.println(
"<td><input type='Text' name='Name' value='' size='25' maxlength='50'> </td>");
out.println("<td>&&&&& </td>");
out.println("<td><font size=+1>Vorname:</font> </td>");
out.println(
"<td><input type='Text' name='Vorname' value='' size='25' maxlength='50'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>Strasse:</font> </td>");
out.println(
"<td><input type='Text' name='Strasse' value='' size='25' maxlength='50'> </td>");
out.println("<td> &&&&&</td>");
out.println("<td><font size=+1>Hausnummer:</font> </td>");
out.println("<td><input type='Text' name='Hausnummer' value='' size='5' maxlength='10'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>PLZ:</font> </td>");
out.println(
"<td><input type='Text' name='PLZ' value='' size='25' maxlength='5'> </td>");
out.println("<td> &&&&&</td>");
out.println("<td><font size=+1>Wohnort:</font> </td>");
out.println(
"<td><input type='Text' name='Wohnort' value='' size='25' maxlength='50'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>Telefon:</font> </td>");
out.println(
"<td><input type='Text' name='Telefon' value='' size='25' maxlength='20'> </td>");
out.println("<td> &&&&&</td>");
out.println("<td><font size=+1>Handy:</font> </td>");
out.println(
"<td><input type='Text' name='Handy' value='' size='25' maxlength='20'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>E-Mail:</font> </td>");
out.println(
"<td><input type='Text' name='EMail' value='' size='25' maxlength='50'> </td>");
out.println("<td> &&&&&</td>");
out.println("<td><font size=+1>Geburtsdatum:</font> </td>");
out.println("<td><input type='Text' name='Geburtsdatum' value='' size='25' maxlength='20'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>Bild:</font> </td>");
out.println("<td><input name='Bild' type='file' size='25' maxlength='100' accept='text/*'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>Beitrag:</font> </td>");
out.println("<td><select name='Beitrag' size='1'>");
out.println("<option selected>RIN BU KAI</option>");
out.println("<option>RIN BU KAI/Fitness</option>");
out.println("<option>Fitness</option>");
out.println("</select> </td>");
out.println("<td>&&&&& </td>");
out.println("</tr>");
out.println("</table>");
out.println("</center>");
out.println("<h3><u>Bankverbindung:</u></h3>");
out.println("<center>");
out.println("<table>");
out.println("<tr>");
out.println("<td><font size=+1>BLZ:</font> </td>");
out.println(
"<td><input type='Text' name='BLZ' value='' size='' maxlength='20'> </td>");
out.println("<td>&&&&& </td>");
out.println("<td><font size=+1>Kreditinstitut:</font> </td>");
out.println("<td><input type='Text' name='Kreditinstitut' value='' size='' maxlength='50'> </td>");
out.println("</tr>");
out.println("<tr>");
out.println("<td><font size=+1>Kontonummer:</font> </td>");
out.println("<td><input type='Text' name='Kontonummer' value='' size='' maxlength='20'></td>");
out.println("<td>&&&&& </td>");
out.println("</tr>");
out.println("</table>");
out.println("</center>");
out.println("<h3><u>Vertragslaufzeit:</u></h3>");
out.println("<center>");
out.println("<table>");
out.println("<tr>");
out.println("<td><font size=+1>Vertragsbeginn:</font> </td>");
out.println("<td><input type='Text' name='Vertragsbeginn' value='(dd.mm.yyyy)' size='' maxlength='20'> </td>");
out.println("<td>&&&&& </td>");
out.println("<td><font size=+1>Vertragsende:</font> </td>");
out.println("<td><input type='Text' name='Vertragsende' value='(dd.mm.yyyy)' size='' maxlength='20'> </td>");
out.println("</tr>");
out.println("</table>");
out.println("</center>");
out.println("
");
out.println("<center>");
out.println(
"<input type='Submit' name='Button1' value='Daten senden!!!'>");
out.println("&&");
out.println(
"<input type='Reset' name='Button2' value='Daten l&schen!!!'>");
out.println("</center>");
out.println("</form>");
out.println("</body>");
out.println("</html>");

}

//Clean up resources
public void destroy()
{
try
{
con.close();
}
catch (SQLException ex)
{
log (ex.getMessage());
}
}
}
}


Frage: Muss ich bei der URL die Verbindung zur Datenbank oder zur ODBC Schnittstelle angeben?
 
Hat sich erledigt! Ich hatte den Treiber nicht im Web-inf/ lib eingefügt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben