Avatar billede mskjoldp Novice
16. juli 2004 - 06:35 Der er 2 kommentarer og
1 løsning

Fejl i Update til db - kan ikke bruge autoid som kriterie

Hey E
Det er sikkert fordi jeg er træt og kar kodet hele natten :), men her er hvad jeg har brug for hjælp til...

Kode i ASP på en live IIS 5.0

Jeg har problemer med at få updatet en post i en ms access db. I forbindelse med upload af billeder til en specifik artikkel, kan jeg ikke få lov til, at bruge autoid-posten som identifier for hvor billedenavnet (*.gif) skal placeres...

fejlen lyder:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/xm/inc/verify.asp, line 19

koden viser jeg om lidt, men først en forklaring af koden. I forbindelse med upload af et billede, starter jeg med at poste billede; artikkel autoid, kategorien, forfatteren og hans autoID, til tabellen billeder. Herefter sendes artikkel autoId'et og kategorien til næste asp fil (billede) med denne kode:

bla bla
default.asp?mode=billede&arID="&Request.QueryString("arID")&"&kategori="&Request.QueryString("kategori")
bla bla
ingen problemer der

i filen billede vælges så hvilken fil der skal uploades og string'ene sendes med til næste fil (godkend) med koden:
bla bla
ACTION="default.asp?mode=godkend&amp;arID=<%=Request.QueryString("arID")%>&amp;kategori=<%=Request.QueryString("kategori")%>"
bla bla

heller ingen problemer der, men i filen godkend skal billedenavnet (*.gif) så skrives ind i tabellen billeder, på den post hvor billedenavnet har sin plads: Bsrc

Det prøver jeg så at gøre med nedenstående kode, som desværre ikke formår at benytte billede tabellens autoID (som jeg i tabellen har kaldt BilledeID). Koden er som følger:

<%    Set rss = conn.Execute("SELECT TOP 1 * FROM billeder WHERE Bart='" & Request.QueryString("arID") & "' ORDER BY BilledeID DESC")
    dim ref, kat, mellem, autoBid
    autoBid = rss("BilledeId")
    kat = rss("BartKat")
    mellem = "gfx/artikler/" & kat & "/"
    ref = mellem %>
   
    <table width="100%" cellpadding="1" cellspacing="2"><tr><td>
    <td font class="form" width="100%"><%=autoBid%>Destination "<%intFileUpload = FileUpload(ref, 409600, Array("image/gif", "image/jpeg", "image/pjpeg"), Array("gif", "jpg"), strContentType, strFilename, intFileTotalBytes)%>"</td></td></tr>
    </table>

<%    If intFileUpload = 0 Then
    Dim rsfilnavn, tilbage, autoBidPost
    rsfilnavn = strFilename
    If Session("nick") = "" Then
    Response.Redirect("default.asp?mode=login")
    End if
(linje 19 med fejl)    Conn.Execute("UPDATE billeder SET Bsrc = '" & rsfilnavn & "' WHERE Bref='" & Session("nick") & "' AND BartKat='" & Request.QueryString("kategori") & "' AND BilledeId='" & autoBid & "'")


Uden autoBid fungere alt næsten fint. Problemet uden autoBid er at så bliver alle poster i tabellen Billeder med samme arID overskrevet til det sidste uploadet billedenavn...

Er der nogen der kan gennemskue hvad jeg har skrevet og kan hjælpe mig?

SkjoldP
Avatar billede mskjoldp Novice
16. juli 2004 - 06:38 #1
jeg udskriver her <%=autoBid%> med succes for at teste om jeg har forbindelse med rss("BilledeId"):

fra ovenstående kode:
bla bla
<td font class="form" width="100%"><%=autoBid%>Destination "<%intFileUpload = FileUpload
bla bla
Avatar billede mskjoldp Novice
16. juli 2004 - 06:40 #2
Det er selvfølgelig kun hvis jeg har fjernet kriteriet autoBid fra:

Conn.Execute("UPDATE billeder SET Bsrc = '" & rsfilnavn & "' WHERE Bref='" & Session("nick") & "' AND BartKat='" & Request.QueryString("kategori") & "'")
Avatar billede mskjoldp Novice
17. juli 2004 - 04:15 #3
Problemet er løst ved at lave en RND post i tabellen billeder som er statning for autoid'et....
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