Avatar billede gskairo Nybegynder
19. april 2004 - 12:00 Der er 12 kommentarer og
1 løsning

Hente fra en database 2 gange

Hej eksperter,

Jeg har en database (db1.mdb) med 3 tabeller BMT BMT2 og BMT3. I BMT ligger Nøgleord og ID, i BMT2 ligger Ekspertise og ID, og i BMT3 Ligger kontakt oplysninger.

Jeg skal lave en dropdown menu der vælger en nøgleord og så udvælger de ekspertiser der passer til dette. Derefter vælger man ekspertise og får kontakt oplysningerne.

Jeg har lavet sådan at et ID bliver sendt fra side 1 til side 2 men jeg kan ikke få side 2 til at hente alle de poster med det nummer og vise dem i dropdown menuen på side 2. Er der nogen der kan hjælpe??

Jeg er en newbie så alt hjælp er meget velkommen
Avatar billede gskairo Nybegynder
19. april 2004 - 12:25 #1
Jeg skal egenligt bruge et script der tager værdien "ID" som sendes til side 2 og som så kun viser de "ekspertiser" der har det "ID", i dropdown baren.
Avatar billede websam Nybegynder
19. april 2004 - 13:27 #2
Det Id du har i din første tabel skal også være i din anden tabel således at det din anden tabel indholder både Id og NøgleordId på den måde kan du kæde dine tabeller sammen ved at lave en sql sætning der heder :

Sql = "Select * From BMT2 Where NøgleordId = "&Request.Form("DitFormFelt")&""

Du får nu trukket alle de poster ud der har nøgleid'et som du sender med fra forgående side og skal blot liste dem i din dropdown :o)

/Websam
Avatar billede gskairo Nybegynder
19. april 2004 - 13:34 #3
Ok, så jeg skal have 3 poster i min 2. tabel ( Id, NøgleordsID, og ekspertise). Hvor indsætter jeg den sål Sætning? I min ASP kode eller i databasen??
Avatar billede gskairo Nybegynder
19. april 2004 - 13:40 #4
Får følgende fejl i kode

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en ugyldig SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE" var ventet.
/side3.asp, line 33
Avatar billede websam Nybegynder
19. april 2004 - 15:52 #5
så skal jeg lige se din kode :o)

/Websam
Avatar billede gskairo Nybegynder
20. april 2004 - 08:55 #6
Her er min kode:

<%@LANGUAGE="JavaScript"%>
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<title>Landkort over specialer og kompetencer indenfor medicoområdet</title>
</head>

<body>
<% Response.Write("SELECT BMT2 WHERE = " + Request.Form("Nøgle") + "")
%>

<p align="center"> <%// =Request.queryString("Nøgle") %>
<% //  =Request.queryString("Nøgle").replace(/@/g,"<br>") %>
<% tmp = Request.queryString("Nøgle")+"" %>
<%= tmp.replace(/£/g,"<br>") %>
<p>
<% Response.Write("Nøgle") %>
<body>
<form action="side4.asp" method="submit">
    <p align="center">
    <font size="3">
    <select name="Nøgle">
    <%
//------------CONNECT TO DB--------------------------------
        con = Server.CreateObject("ADODB.Connection");
        con.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\db1.mdb");
//------------EXTRACT DATA-------------------------------
        RS= con.Execute("SELECT * FROM BMT2") // WHERE = "&Request.Form("Nøgle")&"");
        var Key; var Id;
        while(!RS.EOF)
        {
            Key= RS("Key");
            id = RS("NøgleordID");
//----------DISPLAY HTML
            %>
       
        <option value= <" <% =id %> "> <% =Key %> </option>
 
            <%
//-----------------------
            RS.MoveNext;
        }
//------------CLOSE DB
        RS.Close;
        con.close;
//------------END OF DB STUFF %>;
</select></font><input type="submit" name="B2" value="Søg">
</p>
</form>
</p>

</body>
</html>
Avatar billede websam Nybegynder
20. april 2004 - 09:06 #7
Du har jo remmet where clausen ud i denne linie :

RS= con.Execute("SELECT * FROM BMT2") // WHERE = "&Request.Form("Nøgle")&"");

og så skal den oxo stå inde i select statment :

RS= con.Execute("SELECT * FROM BMT2 Where Id = "&Request.Form("Nøgle")&"")

Jeg er ikke så stærk i jScript men det være noget i denne stil.
Avatar billede gskairo Nybegynder
20. april 2004 - 09:18 #8
Den var rammet ud for at få siden til at køre.

koden
RS= con.Execute("SELECT * FROM BMT2 WHERE ID = " & Request.Form("Nøgle") & "")

giver fejlen
Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en ugyldig SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE" var ventet.
/side3.asp, line 31

for linen
RS= con.Execute("SELECT * FROM BMT2 WHERE ID = " + Request.Form("Nøgle") + "")
Den kommer nu med fejlen
Fejltype:
Microsoft JET Database Engine (0x80040E10)
Der er ikke angivet nogen værdi for en eller flere krævede parametre.
/side3.asp, line 31
Avatar billede websam Nybegynder
20. april 2004 - 09:39 #9
Så skal du bruge denne :

RS= con.Execute("SELECT * FROM BMT2 WHERE ID = " + Request.Form("Nøgle") + "")

men ændre id svarende til det felt id'et ligger i
Avatar billede gskairo Nybegynder
20. april 2004 - 11:55 #10
RS= con.Execute("SELECT * FROM BMT2 WHERE KeyID = " + Request.Form("Value1") + "");
giver fejlen
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
/praktikf2004/side3.asp, line 34

Siden kan nu ses på http://dell97.eit.iha.dk/praktikf2004/default.asp
Avatar billede websam Nybegynder
20. april 2004 - 12:01 #11
Der er noget der siger mig at dine felter ikke er korekte i din database eller at du at du forspørger i den forkerte tabel :o)

/Websam
Avatar billede gskairo Nybegynder
20. april 2004 - 12:17 #12
I tabellen BMT2 har jeg Id, KeyID og Key

Jeg kan ikke se hvor jeg linker forkert i min kode hvis det er tilføllet
<%@LANGUAGE="JavaScript"%>
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<title>Landkort over specialer og kompetencer indenfor medicoområdet</title>
</head>

<body>
<% Response.Write("SELECT BMT2 WHERE = " + Request.Form("Value1") )
%>

<p align="center"> <%// =Request.queryString("Nøgle") %>
<% //  =Request.queryString("Nøgle").replace(/@/g,"<br>") %>
<% tmp = Request.queryString("Value1")+"" %>
<%= tmp.replace(/£/g,"<br>") %>
<p>
<% Response.Write("Value1") %>
<body>
<form action="side4.asp" method="submit">
    <p align="center">
    <font size="3">
    <select name="KEY2">
    <%
   
//------------CONNECT TO DB--------------------------------
        con = Server.CreateObject("ADODB.Connection");
        con.Open(Application('db1_ConnectionString'));
        //con.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\db1.mdb");
//------------EXTRACT DATA-------------------------------
        var Value1 = Request("Value1");   
        RS= con.Execute("SELECT Key FROM BMT2 WHERE KeyID = " + Request.Form("Value1") + ""); //" & Request.Form("Value1") & "")
        //RS= con.Execute("SELECT * FROM BMT2 WHERE Id = " + Request.Form("Value1") + "");
        var Keys; var Id;
        while(!RS.EOF)
        {
            Keys= RS("Key");
            Id = RS("KeyID");
//----------DISPLAY HTML
            %>
       
        <option value= <" <% =id %> "> <% =Keys %> </option>
       
            <%

//-----------------------
            RS.MoveNext;
        }
//------------CLOSE DB
        RS.Close;
        con.close;
//------------END OF DB STUFF %>;


</select></font><input type="submit" name="B2" value="Søg">
</p>
</form>
</p>
</body>
</html>
Avatar billede gskairo Nybegynder
14. februar 2007 - 14:14 #13
lukket
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging