09. februar 2002 - 14:04
Der er
14 kommentarer
Ufattelig SQL/ASP fejl!
Hejsa! Jeg fatter bare ikke denne fejlmeddelse: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket. /kp/Admin/opdater.asp, line 37 og, så er det jeg siger: Hvad hulen går galt i denne her kode: <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("../stykker1.mdb") Conn.Open DSN strSQL = "Insert into rs" & CLng(Request.Form("svaergrad")) & " (" strSQL = strSQL & "navn, " strSQL = strSQL & "losning, " strSQL = strSQL & "stykke, " strSQL = strSQL & "stykke1, " strSQL = strSQL & "stykke2, " strSQL = strSQL & "stykke3, " strSQL = strSQL & "stykke4, " strSQL = strSQL & "stykke5) " strSQL = strSQL & "values( " strSQL = strSQL & "'" & Request.Form("navn") & "', " strSQL = strSQL & "'" & Request.Form("losning") & "', " strSQL = strSQL & "'" & Request.Form("stykke") & "', " strSQL = strSQL & "'" & Request.Form("stykke1") & "', " strSQL = strSQL & "'" & Request.Form("stykke2") & "', " strSQL = strSQL & "'" & Request.Form("stykke3") & "', " strSQL = strSQL & "'" & Request.Form("stykke4") & "', " strSQL = strSQL & "'" & Request.Form("stykke5") & "') " Conn.Execute(strSQL) Conn.Close Set Conn = Nothing %> Jeg kan simpelthen ikke se det, og nu har jeg kigget i jeg ved ikke hvor lang tid! Det er sikkert meget let.... På forhånd tak! Martin
Annonceindlæg fra Kingston Technology
09. februar 2002 - 14:26
#1
Check din database, om alle dine felter er streng felter, og ikke numeriske. Du bruger aprostroffer omkring alle dine værdier, så hvis bare eet af felterne forventer en numerisk værdi, vil du få den fejl. - Rou
09. februar 2002 - 14:45
#2
"navn" og "losning" er tekst, og hele "stykke"-rækken er tal, hvad gør jeg så fejl? streng felter? Hvad er det? :)
09. februar 2002 - 14:54
#3
det er fordi du prøver at indsætte en talværdi ind i et felt i access databasen der forventer at få noget tekst.. strSQL = strSQL & "values( " strSQL = strSQL & "'" & Request.Form("navn") & "', " strSQL = strSQL & "'" & Request.Form("losning") & "', " strSQL = strSQL & "" & Request.Form("stykke") & ", " strSQL = strSQL & "" & Request.Form("stykke1") & ", " strSQL = strSQL & "" & Request.Form("stykke2") & ", " strSQL = strSQL & "" & Request.Form("stykke3") & ", " strSQL = strSQL & "" & Request.Form("stykke4") & ", " strSQL = strSQL & "" & Request.Form("stykke5") & ") " -- xs
09. februar 2002 - 15:35
#4
Jeg kigger på det...
09. februar 2002 - 15:37
#5
fejlen kan også komme hvis der ikke er noget i stykke - stykke5 (det skal være et 0 hvis der ikke er noget) prøv at skrive din sql streng ud og se hvad der står
09. februar 2002 - 15:43
#6
xs>> Nix, jeg indtaster korrekt data, så det er ikke det der er problemet...
09. februar 2002 - 19:56
#7
hedder din tabel rs?
09. februar 2002 - 21:53
#8
xs>> Ja, men tabel hedder rs
09. februar 2002 - 21:53
#9
men = min
09. februar 2002 - 23:03
#10
hmm kan det være fordi tabellen hedder f.eks. rs4 i tekst og du prøver at indsætte i rs4 hvor 4 tallet er et tal? : strSQL = "Insert into rs" & CLng(Request.Form("svaergrad")) & " (" ? ellers så ved jeg ikke hvad det kan være
10. februar 2002 - 10:55
#11
ex>> Request.Form("svaegrad") er et hidden felt... Jeg kan nemlig heller ikke se den r*v irriterende fejl!
10. februar 2002 - 10:56
#12
a1>> Det er desværre heller ikke det...
10. februar 2002 - 15:24
#13
strSQL = strSQL & "'" & Request.Form("navn") & "', " strSQL = strSQL & "'" & Request.Form("losning") & "', " strSQL = strSQL & "" & Request.Form("stykke") & ", " strSQL = strSQL & "" & Request.Form("stykke1") & ", " strSQL = strSQL & "" & Request.Form("stykke2") & ", " strSQL = strSQL & "" & Request.Form("stykke3") & ", " strSQL = strSQL & "" & Request.Form("stykke4") & ", " strSQL = strSQL & "" & Request.Form("stykke5") & " " strSQL = strSQL & ");" hvor er linie 37 i øvrigt?
11. februar 2002 - 13:55
#14
ex>> Conn.Execute(strSQL)
Kurser inden for grundlæggende programmering