Avatar billede EIHP Juniormester
30. september 2004 - 00:26 Der er 11 kommentarer og
1 løsning

asp update fejl

Hele min kode

<!--#include file="execute/usersdata.asp"--><!--#include file="execute/top.asp"-->
<center><font size="5"><b>Biblioteket</b></font><br><br>
<table border="0" cellpadding="0" cellspacing="0" width="400">
  <%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath(db_bib)
Conn.Open DSN

If request("bog") <> "" Then
If request("lan") = "b" Then

Set Conn2 = Server.CreateObject("ADODB.Connection")
DSN2 = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN2 = DSN2 & "DBQ=" & Server.MapPath(db_users)
Conn2.Open DSN2

    str3SQL = "Select * from bruger where id = " & Session("brugerid") & " and bib_bognr = 0"
    response.write str3sql
    Set rs3 = Conn2.Execute(str3SQL)
   
    b_id = request("bog")
    b_id = Replace(b_id, "agr", "1")
    b_id = Replace(b_id, "bdu", "2")
    b_id = Replace(b_id, "tzi", "3")
    b_id = Replace(b_id, "qnj", "4")
    b_id = Replace(b_id, "msk", "5")
    b_id = Replace(b_id, "vop", "6")
    b_id = Replace(b_id, "wyl", "7")
    b_id = Replace(b_id, "hfh", "8")
    b_id = Replace(b_id, "ccc", "9")

    If rs3.eof Then
    Response.Redirect("bib.asp?bog=" & request("bog") & "&error=1") // brugeren har en bog
    Else
    str5SQL = "Select * from bib where id = " & b_id
    Set rs5 = Conn.Execute(str5SQL)
   
    If rs5.eof Then
    Response.Redirect("bib.asp?bog=" & request("bog") & "&error=3") // bogen findes ikke
    Else
    str4SQL = "Select * from bib where id = " & b_id & " and udlant <> 5"
    Set rs4 = Conn.Execute(str4SQL)
   
    If rs4.eof Then
    Response.Redirect("bib.asp?bog=" & request("bog") & "&error=2") // Alle boger udlant
    Else
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Fejlen kommer her..
syntax error.. Men jeg kan ik se hvad der skulle være galt...

    str6SQL = "Update bib set (udlant = "& udlant + 1 &") where id = " & b_id
    response.write str6sql
    Conn.Execute(str6SQL)
   

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    str7SQL = "Update bruger set (bib_bognr = " & b_id & ", bib_bogtid = " & Now & ") where id = " & session("brugerid")
    Conn2.Execute(str7SQL)
   
    //Response.Redirect("bib.asp?bog=" & request("bog") & "&error=4") // lant, tillykke
   
    End If
    End If
    End IF

Else
    b_id = request("bog")
    b_id = Replace(b_id, "agr", "1")
    b_id = Replace(b_id, "bdu", "2")
    b_id = Replace(b_id, "tzi", "3")
    b_id = Replace(b_id, "qnj", "4")
    b_id = Replace(b_id, "msk", "5")
    b_id = Replace(b_id, "vop", "6")
    b_id = Replace(b_id, "wyl", "7")
    b_id = Replace(b_id, "hfh", "8")
    b_id = Replace(b_id, "ccc", "9")
   
    str2SQL = "Select * from bib where id =" & b_id & ""
    Set rs2 = Conn.Execute(str2SQL)

If request("error") = 1 Then
%><tr>
    <td width="395" colspan="4">Du har allerede lånt en bog, afleverer den tilbage før du kan låne en ny..<br><br></td>
  </tr>
  <%
ElseIf request("error") = 2 Then
%><tr>
    <td width="395" colspan="4">Alle bøger er udlånt, desværre<br><br></td>
  </tr>
  <%
ElseIf request("error") = 3 Then
%><tr>
    <td width="395" colspan="4">Bogen du forsøgte at låne, findes desværre ik<br><br></td>
  </tr>
  <%
ElseIf request("error") = 4 Then
%><tr>
    <td width="395" colspan="4">Du har nu lånt, <b><%=rs2("titel")%></b>.<br><br></td>
  </tr>
  <%
End IF
%><tr>
    <td width="395" colspan="4"><img src="images/bog.gif" align="left" border="0" hspace="0" vspace="0" width="70" height="84">
    <b><%=rs2("titel")%></b><br><br><%=rs2("tekst")%><br><br></td>
  </tr>
  <tr>
    <td width="60">Forfatter </td>
    <td width="140"><%=rs2("forfatter")%></td>
    <td width="50">Læst af</td>
    <td width="145"><%=rs2("last")%></td>
  </tr>
  <tr>
    <td width="60">Antal</td>
    <td width="140"><%=rs2("antal")%></td>
    <td width="50">Udlånt</td>
    <td width="145"><%=rs2("udlant")%></td>
  </tr>
  <tr>
    <td width="395" colspan="4"><b><a href="bib.asp?bog=<%=request("bog")%>&lan=b">LÅN DENNE BOG</a></b></td>
  </tr><%
End If
Else
str1SQL = "Select * from bib"
Set rs1 = Conn.Execute(str1SQL)

bco = 1
Do
%><tr>
    <td>
    <img src="images/bog.gif" align="<%
    If bco = 2 Then
    bco = bco - 1
    %>right<%
    Else
    %>left<%
    bco = bco + 1
    End If
    %>" border="0" hspace="0" vspace="0" width="70" height="84"><b><a href="bib.asp?bog=<%
    b_id = rs1("Id")
    b_id = Replace(b_id, "1", "agr")
    b_id = Replace(b_id, "2", "bdu")
    b_id = Replace(b_id, "3", "tzi")
    b_id = Replace(b_id, "4", "qnj")
    b_id = Replace(b_id, "5", "msk")
    b_id = Replace(b_id, "6", "vop")
    b_id = Replace(b_id, "7", "wyl")
    b_id = Replace(b_id, "8", "hfh")
    b_id = Replace(b_id, "9", "ccc")
    response.write b_id
    %>"><%=rs1("Titel")%></a></b><br>
    <br>
    <%=rs1("Resume")%></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
  <%
rs1.MoveNext
Loop While Not rs1.EOF
End If

Conn.Close
Set Conn = Nothing
%>
</table>
<!--#include file="execute/bottom.asp"-->
Avatar billede eagleeye Praktikant
30. september 2004 - 00:28 #1
hvis du vil tælle kolonnen udlant en op så prøv sådan her:

str6SQL = "Update bib set udlant = udlant + 1 where id = " & b_id
Avatar billede EIHP Juniormester
30. september 2004 - 00:35 #2
siger samme fejl
Avatar billede eagleeye Praktikant
30. september 2004 - 00:37 #3
Så prøv at udkskrive str6SQL, og se b_id er rigtigt, hedder dine kolonne udlant og id? Er udlant en tal kolonne?:

    str6SQL = "Update bib set udlant = udlant + 1 where id = " & b_id
    response.write str6sql
    response.End
    Conn.Execute(str6SQL)
Avatar billede EIHP Juniormester
30. september 2004 - 00:39 #4
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/beauxbatons/bib.asp, line 54

Update bib set udlant = udlant + 1 where id = 1

Ja, jeg har kigget dem efter flere gange.. og ja, udlant er et tal...
Avatar billede eagleeye Praktikant
30. september 2004 - 00:39 #5
Er den rigtig så prøv at sætte klammer omkring så må der være noget som driller:

str6SQL = "Update [bib] set [udlant] = [udlant] + 1 where id = " & b_id
Avatar billede EIHP Juniormester
30. september 2004 - 00:42 #6
hmm.. nu snakker den om

str7SQL = "Update bruger set (bib_bognr = " & b_id & ", bib_bogtid = " & Now & ") where id = " & session("brugerid")
    response.write str7sql
    Conn2.Execute(str7SQL)
Avatar billede eagleeye Praktikant
30. september 2004 - 00:43 #7
hvilken type er kolonne bib_bogtid ?
Avatar billede EIHP Juniormester
30. september 2004 - 00:43 #8
Dato og tid hvorfor?
Avatar billede eagleeye Praktikant
30. september 2004 - 00:44 #9
Fordi så skal der enten ' omkring eller prøv at skrive now() så den bruger databasens now funktion sådan her:

str7SQL = "Update bruger set bib_bognr = " & b_id & ", bib_bogtid = Now() where id = " & session("brugerid")
Avatar billede EIHP Juniormester
30. september 2004 - 00:47 #10
Skette ik noget... forsat syntax fejl
Avatar billede eagleeye Praktikant
30. september 2004 - 00:50 #11
Prøv at udskrive den SQL sætning så, det er lettere at se syntax fejl
Tjek kolonne navne er stavet korrekt.
Avatar billede EIHP Juniormester
30. september 2004 - 00:52 #12
Det står som det skal.. skulle bare fjerne () sorry.. tak for hjælpen eagleeye
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