Avatar billede asker Nybegynder
09. august 2001 - 18:52 Der er 30 kommentarer og
1 løsning

Det er ikke så godt

Med denne kode får jeg hele tiden denne fejl...hvad har jeg gjort forkert:

---------------------------------
Microsoft OLE DB Provider for ODBC Drivers error \'80040e07\'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/databaser/test/de.asp, line 6
-----------------------------------------------

<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"../Ejendomme.mdb\")

strSQL = \"SELECT Kunde.Sagsnr From kunde Where Kunde.Sagsnr=\" & Request.Querystring(\"Sagsnr\")
Set rs = Conn.Execute(strSQL)

%>
<div align=\"center\">
  <table>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Sagsnr\")%></font></td>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Beliggenhed\")%></font></td></tr>
  <tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Kontant\")%></font></td>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Netto\")%></font></td></tr>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"kvm\")%></font></td></tr>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"vær\")%></font></td></tr>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Beskrivelse\")%></font></td></tr>
<tr>
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"kommune\")%></font></td></tr>
<td width=\"498\">
  </table>
</div>
<%
Conn.Close
Set Conn = Nothing
%>

---------------------------------------

Linje 6 er den her
Set rs = Conn.Execute(strSQL)
Avatar billede mesterlars Nybegynder
09. august 2001 - 18:55 #1
prøv at set her ind som test inden linie 6
response.write strSQL
response.end

hvad skriver den så ud?
Avatar billede asker Nybegynder
09. august 2001 - 18:56 #2
Den skriver det her

SELECT Kunde.Sagsnr From kunde Where Kunde.Sagsnr=1827
Avatar billede nute Nybegynder
09. august 2001 - 18:57 #3
du fanger ikke parameteret \'Sagsnr\'. Enten fordi du ikke sender det ordentlig, eller fordi det heter noe annet når du sender det...

/nute
Avatar billede nute Nybegynder
09. august 2001 - 18:58 #4
hov...sorry... hvilken type kolonne er sagsnr i din tabell ? Hvis det er av typen text, så skal din SQL være:

strSQL = \"SELECT Kunde.Sagsnr From kunde Where Kunde.Sagsnr=\'\" & Request.Querystring(\"Sagsnr\") & \"\'\"
Avatar billede asker Nybegynder
09. august 2001 - 19:00 #5
Det fårstå jeg ikke der står da =1827

og det er sagsnr

Men er det evt noget du kan hjælpe mig med
Avatar billede asker Nybegynder
09. august 2001 - 19:01 #6
Jeg ser lige ad
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:01 #7
hvilken datatype er sagsnr.

Med fejlbeskeden in mente ligner det et felt af type \'date\'
Avatar billede nute Nybegynder
09. august 2001 - 19:03 #8
mesterlars >> bare av nyskjerrighet....hvordan i alle dager kan du ut fra feilmeldingen mene at det er et felt av typen \'date\' ???
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:05 #9
Tjaah.. det undrer da også lidt mig, men

http://support.microsoft.com/support/kb/articles/Q246/5/70.ASP
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:06 #10
hmm..ok læste lidt for hurtigt.. det er vist en frontpage fejl
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:08 #11
Nå, men tilbage til hjælpen

Prøv at ændre din strSQL til

strSQL = \"SELECT Kunde.Sagsnr From kunde Where Kunde.Sagsnr=1827\"

Bare for at se om det virker...
Avatar billede nute Nybegynder
09. august 2001 - 19:12 #12
mesterlars >> linket er dødt...frontpage fejl ?? Hva snakker du om ???

den SQL du poster er jo nøyaktig lik den han allerede har eksekvert. Det står rimelig tydelig i feilmeldingen at det er en \"type mismatch\". Han prøver å sammenligne en kolonne sin verdi med et tall, når kolonnen ikke er av typen tall (number).

/nute
Avatar billede asker Nybegynder
09. august 2001 - 19:14 #13
Ok nute skriver den sagsnr ud

men når den hopper vidre får jeg denne fejl
1914
ADODB.Fields error \'800a0cc1\'

ADO could not find the object in the collection corresponding to the name or ordinal reference
requested by the application.

/databaser/test/de.asp, line 13

-------------

Linje 13 er denne her:
<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Beliggenhed\")%></font></td></tr>

----------------

Skal man seleté alle sine felter
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:15 #14
Linket er ikke dødt her... det linket beskriver er en fejl i frontpage og altså ikke brugbart her.. så ignorer det

nute > ja jeg er da klar over at den SQL jeg poster er lige den han lige har postet.... det er jo meningen

Jeg prøver bare at indkredse hvad problemet er.

Jeg går da også udfra at kolonnen er af typen tekst, og jeg har ikke afgivet nogle svar, så du behøver ikke værre så bange for at jeg \'stjæler\' dine points..
Avatar billede asker Nybegynder
09. august 2001 - 19:17 #15
Det går lidt stærkt..

Nute nu skriver den Sagsnr ud, men det næste felt i posten vil den ikke komme med ???

har det noget med SQL strengen at gøre
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:17 #16
asker > den kan jeg svare på :)
Avatar billede asker Nybegynder
09. august 2001 - 19:18 #17
Så svar.....
Avatar billede nute Nybegynder
09. august 2001 - 19:18 #18
prøv denne:

strSQL = \"SELECT * From kunde Where Kunde.Sagsnr=\'\" & Request.Querystring(\"Sagsnr\") & \"\'\"
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:19 #19
det har nute gjort

årsagen var at du ikke udvalgte feltet \"beliggenhed\" i din SQLstreng
Avatar billede nute Nybegynder
09. august 2001 - 19:20 #20
mesterlars >> jeg er ikke bange for at du \"stjeler\" mine points. For det første så vil jeg påstå at du enda ikke har bidratt til å innkretse problemet, men nærmere fable om ting som er helt utenfor denne problemstilling. Og for det andre så ser jeg gjerne at andre får pointsene hvis det viser seg at jeg er helt galt på den...
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:24 #21
Du er godt nok sur idag.

Hvis du lægger mærke til det så indkredsede jeg faktisk problemet i startet. Din første sætning i denne debat var et løsningsforslag som min \'indkredsning\' havde udelukket...:) så ved ikke helt hvor du vil hen med det..
Avatar billede nute Nybegynder
09. august 2001 - 19:24 #22
asker >> måten du har bygget din SQL på, gjør at du får problemer senere i scriptet. Du har kun valgt å hente ut \'sagsnr\' fra sin tabell, men senere i scriptet prøver du å referere til både \'beliggenhed\', \'netto\',\'kontant\' og alle de andre feltene i din database. Hvis du skulle bygge en pen SQL string, så skulle den se sånn ut:

strSQL = \"SELECT Kunde.Sagsnr, Kunde.Beliggenhed, Kunde.Kontant, Kunde.Netto, Kunde.kvm, Kunde.vær, Kunde.Beskrivelse, Kunde.kommune From Kunde Where Kunde.Sagsnr=\'\" & Request.Querystring(\"Sagsnr\") & \"\'\"

/nute
Avatar billede nute Nybegynder
09. august 2001 - 19:25 #23
mesterlars >> jeg er ikke sur...bare ærlig... :)
Avatar billede asker Nybegynder
09. august 2001 - 19:26 #24
Nute med den tidligere streng (strSQL = \"SELECT Kunde.Sagsnr From kunde Where Kunde.Sagsnr=\'\" & Request.Querystring(\"Sagsnr\") & \"\'\")
Fik jeg det til at virke >>> nu sætter den Sagsnr ind på siden...
------------------------------------------
Men nu får jeg en anden fejl:

1914
ADODB.Fields error \'800a0cc1\'

ADO could not find the object in the collection corresponding to the name or ordinal reference requested by the application.

/databaser/test/de.asp, line 13

------------------------

linje 13 er den her:

<td bgcolor=\"#FFFFFF\" width=\"498\"><font size=\"3\"><align=\"left\"><%=rs(\"Beliggenhed\")%></font></td></tr>
-------------------------

Skal jeg sætte alle mine felter i strengen \"SELECT\"
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:27 #25
Det kan godt være du ikke prøver at finde problemet når du arbejder, men bare prøver dig frem... derfor kan vi andre da godt arbejde på andre måder
Avatar billede nute Nybegynder
09. august 2001 - 19:28 #26
asker >> det peneste vil være å skrive alle dine felter inn i din SQL, men for å få det til å fungere, så kan du jo bare prøve å skrive

SELECT * FROM Kunde ...

Bruk *, så henter du ned alle felt fra din tabell...
Avatar billede nute Nybegynder
09. august 2001 - 19:30 #27
mesterlars >> hvem var din kommentar siktet på ?

asker >> er du sikker på at \'Beliggenhed\' er det korrekte navnet på feltet i din database ?
Avatar billede asker Nybegynder
09. august 2001 - 19:34 #28
Nu skal i 2 være søde ved hinanden og huske på at vi alle er meget forskellige.

I kan bare se > I er meget bedre til VB end jeg <

Når men mange tak for hjælpen jeg har faktisk rodet med det her lindt længe.

Avatar billede asker Nybegynder
09. august 2001 - 19:35 #29
SELECT * FROM Kunde ... har jeg prøvet det vil ikke virke ?????? så jeg skriver alle felter´ne
Avatar billede nute Nybegynder
09. august 2001 - 19:37 #30
asker >> jeg er alltid søt mot andre, men jeg har også den grimme egenskapen som får meg til å si ting sånn som jeg tenker dem. Dermed kan man nok tolkes litt anderledes enn det man egentlig mener.

Og når det er sagt, så skal jeg jo bare bemerke at dette ikke er et VB problem, men snarere et SQL problem ;-)

God kveld til dere begge...

:-)
Avatar billede mesterlars Nybegynder
09. august 2001 - 19:39 #31
I lige måde
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