Avatar billede net--rom Nybegynder
26. september 2005 - 16:53 Der er 13 kommentarer og
1 løsning

SQL sætnings fejl

Hej eksperter.

Jeg har et update script her der driller håber der er nogen af jer hajer der kan løse det.

koden er således:
Conn.Execute("update nr set serieb = '" & request("hentan") & "' where serie = '" & request("ss") & "' and serienr is null")

der er forbindelse til databasen, og der meldes ingen fejl, men serieb opdatere ikke med datane fra hentan som vel og mærket ikke er tom.

any ideas?

\Net--rom
Avatar billede kalp Novice
26. september 2005 - 17:05 #1
Findes "ss" i serie ? og skal seriennr være null?
Avatar billede net--rom Nybegynder
26. september 2005 - 17:07 #2
Nu skal jeg lige passe på, for der er også et felt der hedder serie. ss ='02' og ja den findes også i databasen. serienr skal være null ja.
Avatar billede kalp Novice
26. september 2005 - 17:17 #3
Conn.Execute("update nr set serieb = '" & request("hentan") & "' where serie = " & request("ss") & " and serienr is null")
Avatar billede net--rom Nybegynder
26. september 2005 - 17:19 #4
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Avatar billede net--rom Nybegynder
26. september 2005 - 17:19 #5
Alle de involverede felter er sat til "text".
Avatar billede cpufan Juniormester
26. september 2005 - 17:28 #6
prøv at udskrive din sql,
så du kan se om de relevante værdier er sat i sql'en.

så kan man eliminere den fejlkilde
Avatar billede net--rom Nybegynder
26. september 2005 - 17:30 #7
det har jeg prøvet og alt skulle gerne passe.
Avatar billede cpufan Juniormester
26. september 2005 - 17:32 #8
må jeg se din form-kode
Avatar billede net--rom Nybegynder
26. september 2005 - 17:34 #9
<table align="center" border="0" width="500" cellspacing="0" cellpadding="0" id="table2">
            <tr><form method="POST" action="?ss=<%=request("ss")%>&g=ja">
                <td style="border-bottom: 1px solid #F21A1A; " width="150">
                <p align="center"><b>
                <font face="Arial" size="2" color="#FFCE10">Afsnit:</font></b></td>
                <td width="100" align="center" style="border-bottom: 1px solid #F21A1A; ">
                <font face="Arial" size="2" color="#FFCE10">
                <b>Hentet:</b></font></td>
                <td width="100" align="center" style="border-bottom: 1px solid #F21A1A; ">
                <font face="Arial" size="2" color="#FFCE10">
                <b>Afspillet:</b></font></td>
                <td style="border-bottom: 1px solid #F21A1A; " width="150">
                <p align="center"><font face="Arial" size="2" color="#FFCE10"><b>Oprettet:</b></font></td>
            </tr>
            <%
            Set Conn = Server.CreateObject("ADODB.Connection")
            'conn.ConnectionTimeout=20
            Set Rs = Server.CreateObject("ADODB.Recordset")
            DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
            Conn.Open DSN & "DBQ=" & Server.MapPath("database\simpsons")

            SQL = "SELECT * FROM nr WHERE serie = '" & request("ss") & "' and serienr is not null order by serienr"
            rs.Open SQL, Conn

            do while not rs.eof
           
            serieset = (rs("seriec")/rs("seriea"))*100
              if not serieset = "0" then
              serieset = round(serieset,1)
              end if
             
            seriehentet = (rs("serieb")/rs("seriea"))*100
              if not seriehentet = "0" then
              seriehentet = round(seriehentet,1)
              end if
            %>
            <tr>
                <td height="10" width="150">
                <p align="center"><a href="#"><font face="Arial" size="2" color="#666666">
                <span style="text-decoration: none">afsnit <%=rs("serienr")%></span></font></a></td>
                <td width="100" align="center" height="10">
                <input type="checkbox" name="hid" value="<%=rs("id")%>"<%if rs("hentet") then%> checked<%end if%>></td>
                <td width="100" align="center" height="10">
                <font face="Arial" size="2" color="#666666">
                <input type="checkbox" name="sid" value="<%=rs("id")%>"<%if rs("sett") then%> checked<%end if%>></font></td>
                <td align="center" height="10" width="150">
                <font face="Arial" size="2" color="#666666"><%=rs("opdato")%></font></td>
            </tr>
            <%
            rs.movenext
            loop
            %>
            <tr>
                <td height="10" width="500" colspan="4">
                <p align="center"><br>
                <input type="submit" value="Gem Serie" name="send"></td>
            </tr></form>
            </table>
Avatar billede cpufan Juniormester
26. september 2005 - 17:38 #10
der er ikke et felt der hedder hentan ?
Avatar billede net--rom Nybegynder
26. september 2005 - 17:41 #11
Der var fejlen: for det er ikke en qeuestring, men en string der er beregnet i selve dokumentet, den endelig kode er derfor:

Conn.Execute("update nr set serieb = '" & hentan & "' where serie = '" & request("ss") & "' and serienr is null").

Takker cpufan. lav lige et svar så smider jeg nogle points.

Net--rom
Avatar billede cpufan Juniormester
26. september 2005 - 17:42 #12
k
Avatar billede cpufan Juniormester
26. september 2005 - 17:44 #13
så havde du heller ikke forsøgt at udskrive din sql,
for så havde du opdaget den tomme værdi dér ;)
Avatar billede net--rom Nybegynder
26. september 2005 - 17:45 #14
jo, jeg havde, jeg forstod jo ikke hvorfor den var tom. der det hele startede.
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