Avatar billede touel Nybegynder
09. december 2005 - 21:32 Der er 11 kommentarer og
1 løsning

Overføre data mellem tabeller

for at simplificere den har jeg to tabeller:

En kunde og en Postnummer tabel

Når jeg i kundetabellen opretter felt "postnr int(4) not null references Postnummer"

og i Postnummer tabel

Postnr int(4) not null primary key,
by varchar (20)not null;

Når jeg så i mit program skriver noget kunde info og deriblandt også skriver by navnet, er det så ikk  meningen at den skal ind i Postnummer tabllen og lægge by navnet der, fordi postnr refererer til den ????

jeg kunne godt tænke mig at by navnet automatisk bliver lagt over i Postnummer tabellen, når den skrives under kunde oprettelse.
Avatar billede touel Nybegynder
09. december 2005 - 21:48 #1
jeg får fejl, men den udføres stadig. Når jeg trykker på min submit knap, så kalder den på en java funktion, som indsætter data i db, men hvordan får jeg fejlen til at gå væk !!!

<INPUT type="submit" name="ok" value="Opret">
<%DbQueryKunde.opretKunde(firmanavn,navn,adresse,postnr,telefon,email,bemaerkning);%>

Disse 2 linier står lige efter hinanden i koden
Avatar billede arne_v Ekspert
09. december 2005 - 21:51 #2
det er omvendt

du starter med at ligge alle postnumre in i postnummer tabellen

og så får du fejl, hvis nogen forsøger at gemme en kunde med et ikke eksisterende
postnummer
Avatar billede touel Nybegynder
09. december 2005 - 21:56 #3
aha - så vil jeg gerne lave det omvendt arne. jeg vil ikke gemme noget i forvejen i Postnummer tabellen.

Men når der oprettes en kunde, og kunden indtaster sit postnr og by, så skal by over og gemmes i Postnummer tabellen
Avatar billede arne_v Ekspert
09. december 2005 - 22:01 #4
så skal du nok enten bruge 2 x INSERT eller en trigger i databasen (det sidste kræver
verion 5)
Avatar billede touel Nybegynder
09. december 2005 - 22:06 #5
ok - jeg prøver mig lige ad med 2 INSERT. har du nogen ide om hvordan jeg bure skrive min submit knap op, som jeg har skrevet kl. 21:48:02 ?
Avatar billede arne_v Ekspert
09. december 2005 - 22:38 #6
koden skal udføres i det som du submitter til ikke i formen

(det kan gøres næsten transperent i JSF)
Avatar billede touel Nybegynder
09. december 2005 - 22:50 #7
dvs jeg skal ikk udføre java sætningen i formen, men afvikle den udenfor
Avatar billede arne_v Ekspert
09. december 2005 - 22:57 #8
Du har

<form method="POST" action="enurl">

det er enurl som skal have den kode

det kan være en servlet, en anden JSP side eller samme JSP side

i sidste tilfælde skal du teste for om det er en POST
Avatar billede arne_v Ekspert
09. december 2005 - 23:02 #9
eksempel (gemmer ikke i database, men i en data struktur):

<%@page import="java.util.*"%>
<jsp:useBean id="basket" class="ArrayList" scope="session" />
<%
if(request.getMethod().equals("POST")) {
  basket.add(request.getParameter("vare"));
}
%>
<form method="POST" action="basket.jsp">
Vare: <input name="vare" type="TEXT" size="20">
<BR>
<input type="SUBMIT" value="Add">
</form>
Kurv: <%=basket%>
<br>
<a href="showbasket.jsp">link</a>
Avatar billede touel Nybegynder
10. december 2005 - 19:44 #10
arne, i dit svar 22:01:31 sir du at man også lave en trigger, kunne du vise det med et eks ?
Avatar billede arne_v Ekspert
10. december 2005 - 20:09 #11
Avatar billede arne_v Ekspert
31. december 2005 - 13:56 #12
OK ?
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
Computerworld tilbyder specialiserede kurser i database-management

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