13. maj 2005 - 17:00Der er
15 kommentarer og 1 løsning
Problemer med udtræk.
Da jeg ikke er så dygtig til at trække felter ud fra flere tabeller i et SQL statement, skal jeg lige bruge noget hjælp nu. Linje 224 er mit SQL statement. Nogle der kan hjælpe ?
Fejl: --- Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/temp/pages/frontpage.asp, line 224
Sourcecode: --- <%
SQL = "SELECT TOP 1 replys_id, replys_topic, format(replys_addeddate,'dd.mm.yyyy') as datestr, replys_addedtime, topic_title, topic_id, fora FROM forareplys, foratopics WHERE replys_topic = topic_title ORDER BY replys_id DESC;" set RS = conn.execute(SQL)
if rs.eof then
response.write("<font color='#BCBCBC'>Ingen svar i databasen!</font>")
Så ser den sådan her ud: --- SELECT TOP 1 replys_id, replys_topic, format(replys_addeddate,'dd.mm.yyyy') as datestr, replys_addedtime, topic_title, topic_id, fora FROM forareplys, foratopics WHERE replys_topic = topic_title ORDER BY replys_id DESC;
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
hmm er det måske fordi du skal skrive hvilken tabel du hiver hvilke værdier fra...altså ala SQL = "SELECT TOP 1 forareplys.replys_id, forareplys.replys_topic, format(forareplys.replys_addeddate,'dd.mm.yyyy') as datestr, forareplys.replys_addedtime, foratopics.topic_title, foratopics.topic_id, foratopics.fora FROM forareplys, foratopics WHERE forareplys.replys_topic = foratopics.topic_title ORDER BY forareplys.replys_id DESC"
ellers betyder "mismatch" vel at der forsøges sammenligne på forskellige datatyper De eneste steder det kan gå galt som jeg ser det er enten i format(replys_addeddate,'dd.mm.yyyy') eller replys_topic = topic_title
Efter lidt søgen på nettet så virker det som om det er en fejl som typisk er behæftet med date/time, hvis disse er tomme Er du sikker på at replys_addeddate ikke kan være tom ?.. for så kunne det være derfor
Jeg kan virkelig ikke se hvad der er galt. Har nu prøvet at fjerne min udtrækning af datoen, men til ingen nytte. Ingen af mine felter er heller ikke tomme. Min kode ser nu sådan her ud, da jeg har omdøbt felterne i databasen: --- SQL = "SELECT TOP 1 topic_id, topic_title, addeddate, addedtime FROM foratopics ORDER BY addeddate DESC;" set RS = conn.execute(SQL)
if rs.eof then
response.write("<font color='#BCBCBC'>Ingen emner i databasen!</font>")
HOV - det var forkert kode. Den rigtige kommer her: --- SQL = "SELECT TOP 1 forareplys.id, forareplys.topic, format(forareplys.addeddate,'dd.mm.yyyy') as datestr, forareplys.addedtime, foratopics.title, foratopics.id, foratopics.fora FROM forareplys, foratopics WHERE forareplys.topic = foratopics.title ORDER BY forareplys.id DESC;" set RS = conn.execute(SQL)
if rs.eof then
response.write("<font color='#BCBCBC'>Ingen svar i databasen!</font>")
jeg ved ikke om det er mig, men jeg kan ikke rigtig finde noget om "format" på nettet Har du prøvet at fjerne den og hvis ja giver det så stadig samme fejl Altså SQL = "SELECT TOP 1 forareplys.id, forareplys.topic, forareplys.addedtime, foratopics.title, foratopics.id, foratopics.fora FROM forareplys, foratopics WHERE forareplys.topic = foratopics.title ORDER BY forareplys.id DESC" -- bare for at lure om det er den der gør det
Nu er jeg kommet lidt længere. Nu melder den en anden fejl: --- ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/temp/pages/frontpage.asp, line 235
Min Source kode ser sådan her ud. Og Linje 235 er den første linje hvor jeg erklærer titlestr: --- <%
SQL = "SELECT TOP 1 foratopics.id, foratopics.title, foratopics.addeddate, foratopics.addedtime FROM foratopics ORDER BY foratopics.id DESC;" set RS = conn.execute(SQL)
if rs.eof then
response.write("<font color='#BCBCBC'>Ingen emner i databasen!</font>")
SQL = "SELECT TOP 1 forareplys.id, forareplys.topic, format(forareplys.addeddate,'dd.mm.yyyy') as datestr, forareplys.addedtime, foratopics.title, foratopics.id, foratopics.fora FROM forareplys, foratopics WHERE forareplys.topic = foratopics.title ORDER BY forareplys.id DESC;" set RS = conn.execute(SQL)
if rs.eof then
response.write("<font color='#BCBCBC'>Ingen svar i databasen!</font>")
Har fundet ud af problemet. Altså hvorfor der var en mismatch.
Og det var fordi at der skal ' tegn rundt om de felter i WHERE hvor det er en tal værdi
Synes godt om
Ny brugerNybegynder
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.