Avatar billede shemeri Praktikant
09. oktober 2002 - 14:13 Der er 7 kommentarer og
1 løsning

Auto_Increment

Hvordan kan jeg lave en auto_increment i jsp?!
Jeg har Person_ID som skal være en auto_increment. I mysql Person_ID er en auto_increment men hvad ellers skal jeg gøre i selve koden?!

<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page contentType="text/html; charset=Windows-1251"%>

<%
String ID;
String FirstName,LastName,DateOfBirth,Street,Nr,ZipCode,City,Country,Telephone,Fax,Email,Occupation,Sex,Record,HandicapClass;
String Tournement_ID = "";
String title = "Register";



try {
        /* connect (commented out strings use classic MySQL driver) */
       
        ID              = request.getParameter("ID");
        FirstName      = request.getParameter("FirstName");
        LastName        = request.getParameter("LastName");
        DateOfBirth    = request.getParameter("DateOfBirth");
        Street          = request.getParameter("Street");
        Nr              = request.getParameter("Nr");
        ZipCode        = request.getParameter("ZipCode");
        City            = request.getParameter("City");
        Country        = request.getParameter("Country");
        Telephone      = request.getParameter("Telephone");
        Fax            = request.getParameter("Fax");
        Email          = request.getParameter("Email");
        Occupation      = request.getParameter("Occupation");
        Sex            = request.getParameter("Sex");
        Record          = request.getParameter("Record");
        HandicapClass  = request.getParameter("HandicapClass");
       
       
        Class.forName("org.gjt.mm.mysql.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/database", "sss", "sss");
        con.setAutoCommit(true);
        Statement st = con.createStatement();

                /* do registration */
        java.util.Date DateOfRegistered = new java.util.Date();
        st.executeUpdate("INSERT INTO person(FirstName, LastName, DateOfBirth, DateOfRegistered, Street, Number, ZipCode, City, Country, Telephone, Fax, Email, Occupation, Sex) VALUES('" + FirstName + "','" + LastName + "','" + DateOfBirth +"','" + DateOfRegistered +"','" + Street +"','" + Nr +"','" + ZipCode +"','" + City +"','" + Country +"','" + Telephone +"','" + Fax +"','" + Email +"','" + Occupation +"','" + Sex +"')");
        st.executeUpdate("INSERT INTO athlete(Tournement_ID, Record, HandicapClass) VALUES('" + Tournement_ID + "','" + Record + "','" + HandicapClass +"')");
       
       
               
%>

<%
    st.close();
   
} catch (Exception e) {
    throw (new ServletException(e));
}


%>
Avatar billede thomas_yde Nybegynder
09. oktober 2002 - 14:49 #1
hvad mener du med auto_increment i koden ?
skal du hente ud eller hvad ?
Avatar billede disky Nybegynder
09. oktober 2002 - 14:54 #2
Ingen ting, du skal ikke engang nævne den i din SQL insert statement.

p.s. Den måde du henter data ud fra din form, er lidt farlig, hvis folk ikke indtaster noget i et felt bliver din string ikke "" men null !!
Avatar billede shemeri Praktikant
09. oktober 2002 - 14:55 #3
Det jeg mener er, ifølge ovenstående kode, tilføjer jeg alle information til mysql database, og det jeg vil lave er, auto ID til de tilføjet information så det behøves ik og gør det manualt.
Avatar billede disky Nybegynder
09. oktober 2002 - 16:42 #4
jeg er ikke helt 100% på jeg forstår hvad du tænker på.

hvis din kolonne i MySQL er AUTO_INCREMENT skal du ikke selv tænke på det.

Derimod er det ret besværligt at forsøge at lave det selv, hvis du vil garantere at et brugt tal aldrig genbruges,
Avatar billede shemeri Praktikant
09. oktober 2002 - 18:08 #5
Ja, der er en kolonne i mysql som er auto_increment, men problemet er at der sker ikke noget. TOM!
Avatar billede disky Nybegynder
09. oktober 2002 - 18:15 #6
aha på den måde.

Okay hvis du har følgende database.

ID    int(11)      AUTO_INCREMENT
Navn  varchar(255)

SÅ laver du følgende insert:
insert into Tabel(ID,Navn) values('',"Shemeri")

Så skulle ID automatisk blive talt op.
Avatar billede shemeri Praktikant
09. oktober 2002 - 23:11 #7
tak disky, det virkerrrrrrrrrrr ;-)
Avatar billede disky Nybegynder
10. oktober 2002 - 07:04 #8
Det glæder mig :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester