Avatar billede kjaergaardanders Nybegynder
30. november 2008 - 01:54 Der er 4 kommentarer og
2 løsninger

find id i mysql db, i netop indsat info

ok den her er svær, jeg har noget kode der tjekker for om bruger eksistere i db, og vis han ikke gør det bliver han indsat i db, vis han eksistere, går man videre, jeg forsøger nu på, at trække hans unik id ud ved hjælp, af de samme info'er ved hjælp af


KundeSql2 = "SELECT * FROM kundearkiv, WHERE kunde_navn = '"&varFornavn&"' AND kunde_efternavn = '"&varEfternavn&"' AND kunde_adresse = '"&varAddresse&"' AND kunde_postnr = "&intPost&" AND kunde_by = '"&varBy&"' AND kunde_email = "&intTlfnr&" AND kunde_email = '"&varEmail&"'"
           
        set rs_kundeId = Conn.Execute(KundeSql2)
        if rs_kundeId.eof then
        rs_kundeId("kunde_navn")


men jeg får den her fejl
Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03FE)
'Select' var ventet
/hrdwre/kundeInfo.asp, line 50, column 4
end if

jeg tro jeg har for få eller for mange end if'er ?


<!-- #include file="include/dbconnect.asp" -->

   

<%    'huske list: først tjek for bruger, så indsæt bruger, til sidst trækker vi bruger ud
if(request.QueryString("go")= "1") then

        varFornavn = Trim(Replace(Replace(Request.Form("Fornavn"), "'", ""), """", ""))
        varEfternavn = Trim(Replace(Replace(Request.Form("Efternavn"), "'", ""), """", ""))
        varAddresse = Trim(Replace(Replace(Request.Form("Addresse"), "'", ""), """", ""))
        intPost = Trim(Replace(Replace(Request.Form("Post"), "'", ""), """", ""))
        varBy = Trim(Replace(Replace(Request.Form("Bynavn"), "'", ""), """", ""))
        intTlfnr = Trim(Replace(Replace(Request.Form("Tlfnr"), "'", ""), """", ""))
        varEmail = Trim(Replace(Replace(Request.Form("Email"), "'", ""), """", ""))
       
        KundeTjek = "Select * from kundearkiv where "
        KundeTjek = KundeTjek & " kunde_navn = '"&varFornavn&"' and "
        KundeTjek = KundeTjek & " kunde_efternavn = '"&varEfternavn&"' and "
        KundeTjek = KundeTjek & " kunde_adresse = '"&varAddresse&"' and "
        KundeTjek = KundeTjek & " kunde_postnr = "&intPost&" and "
        KundeTjek = KundeTjek & " kunde_by = '"&varBy&"' and "
        KundeTjek = KundeTjek & " kunde_tlf = "&intTlfnr&" and "
        KundeTjek = KundeTjek & " kunde_email = '"&varEmail&"'"
       
        set rs = Conn.Execute(KundeTjek)
        if rs.eof then
            KundeSql = "INSERT INTO kundearkiv (kunde_navn, kunde_efternavn, kunde_adresse, kunde_postnr, kunde_by, kunde_tlf, kunde_email) values ('"&varFornavn&"', '"&varEfternavn&"', '"&varAddresse&"', "&intPost&", '"&varBy&"', "&intTlfnr&", '"&varEmail&"')"
        Conn.Execute(KundeSql)
        'response.write KundeSql
        'response.End()
        end if
       
            KundeSql2 = "SELECT * FROM kundearkiv, WHERE kunde_navn = '"&varFornavn&"' AND kunde_efternavn = '"&varEfternavn&"' AND kunde_adresse = '"&varAddresse&"' AND kunde_postnr = "&intPost&" AND kunde_by = '"&varBy&"' AND kunde_email = "&intTlfnr&" AND kunde_email = '"&varEmail&"'"
           
        set rs_kundeId = Conn.Execute(KundeSql2)
        if rs_kundeId.eof then
        rs_kundeId("kunde_navn")
           
        end if
            response.Redirect("?page=dankort")
           
        else
       
            response.Redirect("?page=dankort")
           

        end if
     
 
end if
%>

<table width="328" border="0" cellspacing="0" cellpadding="0">
  <form name="form1" method="post" action="?page=kundeinfo"><tr>
<span class="h3">Hvis du allerede er oprettet som kunde kan du hente dine oplysninger via dit telefonnummer, hvis ikke bedes du oprette dig for neden.</span><br /><br /><br />
    <td width="132"><span class="h3">Telefonnummer:</span></td>
    <td width="300">
        <input type="text" name="kunde_opl"><br />
        <input type="submit" name="soeg" value="Hent oplysninger"> </td>
  </tr></form>
</table>

<%
if Request.Form("kunde_opl") <> "" then

strSoeg = request.Form("kunde_opl")
strSoeg = replace(strSoeg,"'","")
strSQL = "select * from kundearkiv where kunde_tlf = '"&strSoeg&"' or kunde_email = '"&strSoeg&"'"
set rs = conn.execute(strSQL)
if not rs.eof then
kunde_navn = rs("kunde_navn")
kunde_efternavn = rs("kunde_efternavn")
kunde_adresse = rs("kunde_adresse")
kunde_postnr = rs("kunde_postnr")
kunde_by = rs("kunde_by")
kunde_tlf = rs("kunde_tlf")
kunde_email = rs("kunde_email")
retur_skriv = ""
else
response.write "Der er ingen oplysninger på det indtastede"

end if
end if
%>

<table width="289" border="0">
  <tr><br /><span class="h3">Kunde oprettelse</span>
<form action="default.asp?page=kundeinfo&go=1" method="post">
<td width="138"><span class="h3">Fornavn:</span></td>
<td width="134"><input type="text" value="<%=kunde_navn%>" size="10" name="Fornavn"/></td>
<tr>
<td width="77"><span class="h3">Efternavn:</span></td>
<td width="202"> <input type="text" value="<%=kunde_efternavn%>"  size="10" name="Efternavn"/></td>
</tr> <tr>
<td width="77"><span class="h3">Addresse:</span></td>
<td width="202"> <input type="text" value="<%=kunde_adresse%>" size="10" name="Addresse"/></td>
</tr> <tr>
<td width="77"><span class="h3">Post:</span></td>
<td width="202"> <input type="text" value="<%=kunde_postnr%>"  size="10" name="Post"/></td>
</tr> <tr>
<td width="77"><span class="h3">By:</span></td>
<td width="202"> <input type="text" value="<%=kunde_by%>"  size="10" name="Bynavn"/></td>
</tr> <tr>
<td width="77"><span class="h3">Tlfnr:</span></td>
<td width="202"> <input type="text" value="<%=kunde_tlf%>" size="10" name="Tlfnr"/></td>
</tr> <tr>
<td width="77"><span class="h3">Email:</span></td>
<td width="202"> <input type="text" value="<%=kunde_email%>" size="10" name="email"/></td>
</tr> <tr>
<td width="77"></td>
<td width="202"><input type="submit" value="Videre til betaling" /></td>
</tr> <tr>
</form>

</table>
Avatar billede mitbrugernavn Praktikant
30. november 2008 - 07:30 #1
hvis jeg forstår dig ret så vil du hente id på den kunde du lige har sat ind - lige efter du har indsat kunden kan du hente sidste id således:

strSQL = "SELECT  LAST_INSERT_ID() AS id"
set rs = conn.execute(strSQL)
kunde_id = rs("id")
Avatar billede mcgoat Nybegynder
30. november 2008 - 09:02 #2
Den SELECT sætning du har øverst kan man vel ikke bruge til så meget?

Du bliver vel nødt til at spørge på måske "email", eller "kundenr", og ikke at ALT info skal være skrevet på PRÆCIS samme måde, for ellers bliver han oprettet igen.. eller er det bare mig der er alt for overtræt, og ikke fatter noget lige nu *g*
Avatar billede kjaergaardanders Nybegynder
30. november 2008 - 15:40 #3
du har jo ret mcgoat, den eneste søge felt jeg har, søger jo kun på tlf nummer, så det er også det jeg skal bygge min select sætning op på :-), men jeg tænkte, hvad nu vis man har flere bruger på sanmme tlf nummer, et firma eller en familie, er det urealistisk ? som det er lige nu udtrækker asp siden, den første bruger den støder på, i databasen, også selv om tlf nummeret forkommer flere gange ?
Avatar billede kjaergaardanders Nybegynder
30. november 2008 - 21:35 #4
ok det fungere med

trSQL = "SELECT  LAST_INSERT_ID() AS id"
set rs = conn.execute(strSQL)
kunde_id = rs("id")
Avatar billede kjaergaardanders Nybegynder
30. november 2008 - 21:37 #5
mitbrugernavn er det ikke dig der giver et svar så jeg kan give point ?
Avatar billede mitbrugernavn Praktikant
01. december 2008 - 07:22 #6
du får da bare et svar mere ;-)))
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