Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 10:51 Der er 14 kommentarer og
1 løsning

Database opslag

Hej

Jeg sidder med en lille side hvor man skal kunne søge på en varenummer i en database, men jeg kan ikke få det til at virke.
Jeg henter søgekriterierne fra en formular som ser ud som følgende :

<% @language=\"VBScript\"´%>
<%
Option Explicit
Response.Buffer = true
Response.Expires = 0

Dim ProdRS, ProdConn, strVareNr
Dim genre, first, objFSO, strQ

ProdConn = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../access/lm-produkt.mdb\")
If Not Session(\"Pris\") = \"EPris\" Then
    Session(\"Pris\") = \"PPris\"
End If
%>
<!--#include file=\"head-include.asp\"-->
<!--#include file=\"v-include.asp\"-->
                        <div class=\"sort\">
                            <img src=\"gfx/bar-<%= Request.QueryString(\"overskrift\") %>.jpg\" width=573 height=45 border=0>
                            <table width=\"573\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
                            <tr>
                                <td colspan=\"3\" width=\"573\" align=\"left\" class=\"sort\" valign=\"top\">
                                    <div class=\"sort\">
                                        <form action=\"varesoegning.asp?overskrift=<%= Request.QueryString(\"overskrift\") %>&produkt=<%= Request.QueryString(\"produkt\") %>\" method=\"post\" name=\"varesoegning\">
                                        <img src=\"gfx/head-soegning.gif\" width=157 height=17 border=0 alt=\"\" align=\"absmiddle\">&nbsp;&nbsp; <font color=\"#FF0000\"><b>Beta-søgning</b></font>
                                        <br>
                                        <table width=\"550\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
                                        <tr>
                                            <td class=\"sort\" width=\"200\" align=\"left\" class=\"sort\" valign=\"top\">
                                                <div class=\"sort\">
                                                    <input type=\"Radio\" value=\"VareNr\" name=\"Kriterie\" checked><b>Søg efter el-nummer</b>
                                                </div>
                                            </td>
                                            <td class=\"sort\" width=\"175\" align=\"left\" class=\"sort\" valign=\"top\">
                                                <div class=\"sort\">
                                                    <input class=\"cursor\" type=\"text\" name=\"Soegekriterie\">
                                                </div>
                                            </td>
                                            <td class=\"sort\" width=\"175\" align=\"left\" class=\"sort\" valign=\"top\">
                                                <div class=\"sort\">
                                                    <input class=\"sort\" type=\"submit\" value=\"Søg i databasen\"></form>
                                                </div>
                                            </td>
                                        </tr>
                                        </table>
                                    </div>
                                </td>
                            </tr>
                            <tr>
                                <td colspan=\"3\" width=\"573\" align=\"center\" class=\"sort\" valign=\"top\"><div class=\"sort\">&nbsp;</div></td>
                            </tr>
                            <tr>
                                <td colspan=\"3\" width=\"573\" height=\"1\" align=\"center\" class=\"sort\" valign=\"top\" bgcolor=\"#000000\"><img src=\"../gfx/sort-prik.jpg\" width=1 height=1 border=0 alt=\"\"></td>
                            </tr>
                            <tr>
                                <td colspan=\"3\" width=\"573\" align=\"center\" class=\"sort\" valign=\"top\"><div class=\"sort\">&nbsp;</div></td>
                            </tr>
                            </table>
                            <%
                            Set ProdRS = Server.CreateObject(\"ADODB.RecordSet\")
                           
                            ProdRS.Open \"SELECT * FROM \" & Request.QueryString(\"produkt\") & \" ORDER BY Header + Beskrivelse\", ProdConn
                           
                            %>
                                <!--#include file=\"produkt.asp\"-->
                            <%
                           
                            ProdRS.Close
                            Set ProdRS = Nothing
                           
                            %>                           
                            <br>
                        </div>
<!--#include file=\"h-include.asp\"-->

soegning.asp ser er magen til med undtagelse af selve indholdet, dvs. det eneste der er lavet om er :

                            <%
                            Set ProdRS = Server.CreateObject(\"ADODB.RecordSet\")
                           
                            ProdRS.Open \"SELECT * FROM \" & Request.Querystring(\"produkt\") & \" WHERE \" & Request.Form(\"Kriterie\") & \" = \" & Request.Form(\"Soegekriterie\") & \" ORDER BY Header + Beskrivelse\", ProdConn

                            If ProdRS.EOF Then
   
                                Response.Redirect(\"varesoegning.asp?overskrift=\" & Request.QueryString(\"overskrift\") & \"&produkt=\" & Request.QueryString(\"produkt\") & \"\")

                            Else   
                           
                            %>
                                <!--#include file=\"produkt.asp\"-->
                            <%
                           
                            End If
                                                       
                            ProdRS.Close
                            Set ProdRS = Nothing
                           
                            %>                           
Jeg ved ikke om det har noget at sige men selve soegekriteriet i formularen kan godt være et \'rent\' tal : 0158400000
men også indeholde bogstaver som : ISB8039000

Jeg ved ikke op I har fået nok informationer ellers så må I meget gerne fortælle mig hvad I ellers skal bruge
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 10:52 #1
Jeg glemte lige at VareNr er sat til Primær Nøgle

Regards
Rütger Jacobsen
Avatar billede jens Nybegynder
21. december 2000 - 10:55 #2
Prøv

\"SELECT * FROM \'\" & Request.QueryString(\"produkt\") & \"\'
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 10:58 #3
Jeg får følgende fejl :

Microsoft OLE DB Provider for ODBC Drivers error \'80004005\'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in query. Incomplete query clause.

/varesoegning.asp, line 98
Avatar billede erikjacobsen Ekspert
21. december 2000 - 10:58 #4
Dine order by er i hvert fald forkerte. Der skal du skrive noget i retning af

  ...  ORDER BY Header,Beskrivelse

altså komma i stedet for plus. Det er vist et par steder. Er det det hele?
Avatar billede erikjacobsen Ekspert
21. december 2000 - 10:59 #5
Og du skal ikke have \'-er omkring tabelnavne, som jens foreslår.
Avatar billede jens Nybegynder
21. december 2000 - 10:59 #6
Erik>> Falkeøje ;-)
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 11:01 #7
Nu har jeg rettet min ORDEr BY og fjernet \'-er igen med nu får jeg istedet :

Microsoft OLE DB Provider for ODBC Drivers error \'80040e10\'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/varesoegning.asp, line 98
Avatar billede erikjacobsen Ekspert
21. december 2000 - 11:09 #8
Kan vi lige se linie 98?
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 11:09 #9
Selvfølgelig :
                            ProdRS.Open \"SELECT * FROM \" & Request.Querystring(\"produkt\") & \" WHERE \" & Request.Form(\"Kriterie\") & \" = \" & Request.Form(\"Soegekriterie\") & \" ORDER BY Beskrivelse\", ProdConn
Avatar billede erikjacobsen Ekspert
21. december 2000 - 11:13 #10
Ifølge mine notater skal du have et par parametrre bagefter ProdConn, så den f.eks
ser således ud

  .... , ProdConn, 3, 1
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 11:17 #11
Det er stadig den samme fejlmeddelse der kommer :(

Den første side jeg skrev virker og det er meningen at den skal hente alle dataerne i f.eks. Halogenspot hvilket den som sagt også gør

Den næste side vil jeg så kun have til at hente den ene række som indeholder varenummeret der er blevet søgt på.

Jeg ved ikke om det gav et lidt bedre overblik over situationen
Avatar billede erikjacobsen Ekspert
21. december 2000 - 11:25 #12
Jeg går ud fra det står på én linie, og det \"bare\" er eksperten.dk der snyder os.

Jeg plejer at åbne min connection i toppen:

Connect = Server.CreateObject(\"ADODB.Connection\")
ProdConn = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"../access/lm-produkt.mdb\")
Connect.Open ProdConn

og så bruge

  rs.Open \"....\",Connect
Avatar billede erikjacobsen Ekspert
21. december 2000 - 11:26 #13
Men det var bare småsnak ;-) Det kan vel virke alligevel. Skal du have stroffer på?

ProdRS.Open \"SELECT * FROM \" & Request.Querystring(\"produkt\") & \" WHERE \" &  Request.Form(\"Kriterie\") & \" = \'\" & Request.Form(\"Soegekriterie\") & \"\' ORDER BY Beskrivelse\", ProdConn
Avatar billede rar_jacobsen Nybegynder
21. december 2000 - 11:34 #14
Og så virker det sgu\'

Man føler sig helt flov når det kun var sådan en lille latterlig ting 8-)

Regards
Avatar billede erikjacobsen Ekspert
21. december 2000 - 11:39 #15
Det skal du nu ikke ;-)  Du skulle bare vide hvilke bommerter jeg har lavet i tidens
løb. Den seneste - men jeg opdagede den nu selv efter en del timer - var at ændre
et password ét sted, hvor det skulle have været ændret to steder. Der var en
ret besynderlig reaktion...
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