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
Annonceindlæg fra QNAP
26. september 2005 - 17:05
#1
Findes "ss" i serie ? og skal seriennr være null?
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.
26. september 2005 - 17:17
#3
Conn.Execute("update nr set serieb = '" & request("hentan") & "' where serie = " & request("ss") & " and serienr is null")
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.
26. september 2005 - 17:19
#5
Alle de involverede felter er sat til "text".
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
26. september 2005 - 17:30
#7
det har jeg prøvet og alt skulle gerne passe.
26. september 2005 - 17:32
#8
må jeg se din form-kode
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>
26. september 2005 - 17:38
#10
der er ikke et felt der hedder hentan ?
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
26. september 2005 - 17:42
#12
k
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 ;)
26. september 2005 - 17:45
#14
jo, jeg havde, jeg forstod jo ikke hvorfor den var tom. der det hele startede.
Kurser inden for grundlæggende programmering