30. september 2002 - 14:19
Der er
23 kommentarer
zero-length string
Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] Field 'kundestat.kundenr' cannot be a zero-length string. /dk/engros/logintest.asp, line 57 Mit felt er ikke 'nul', derfor kan jeg ikke forstå fejlen! Nogen der kan hjælpe?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
30. september 2002 - 14:52
#1
Fejlen kommer typisk hvis du laver en INSERT INTO en table, hvor der er en colunne der ikke må være null. Prøv i din SQL at sætte 'kundestat.kundenr' til et eller andet.
30. september 2002 - 14:54
#2
Eller gå ind i din database og sæt allownulllength (eller lignende) til true for kundenr under tabellen kundestat.
30. september 2002 - 14:54
#3
Hvad mener du med, at sætte kundestat.kundenr til et eller andet?
30. september 2002 - 14:55
#4
Der skal ikke tillades en nullængde...
30. september 2002 - 14:56
#5
så må du udskrive din sql streng før den udføres og poste den her.
30. september 2002 - 14:56
#6
eller post noget script..
30. september 2002 - 14:57
#7
Så skal du i databasen tillade det, det gør du sådan her: 1. Gå i design view (regner med du snakker om en access DB)' 2. Vælg kundestat.kundenr feltet 3. Ændre Allow Zero Length sæt til Yes
30. september 2002 - 14:59
#8
Hmm, eller jeg misforstår dig... hvis der ikke må være en nullængde i det felt, må du ikke indsætte en record i den table uden at sætte feltet til et eller andet.. ellers prøv at skrive SQL strengen den fejler på
30. september 2002 - 14:59
#9
jpg >> citat: "Der skal ikke tillades en nullængde..."
30. september 2002 - 15:00
#10
:)
30. september 2002 - 15:00
#11
vis os din ASP side...
30. september 2002 - 15:00
#12
JGP.numsefisk.dk :-)
30. september 2002 - 15:04
#13
<% kundenr = request.form("kundenr") password = request.form("password") if lcase(kundenr) <> "gæst" then set conn=server.createobject("adodb.connection") cnpath="DBQ=" & server.mappath("/dataentry/webbutik.mdb") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath set rstjek=server.CreateObject("ADODB.Recordset") rstjek.open "SELECT * FROM kunder WHERE lcase(kundenr) ='"&lcase(kundenr)&"' AND lcase(password) = '"&lcase(password)&"'",conn,3 if rstjek.recordcount > 0 then session("user") = kundenr session("userid") = rstjek("id") if rstjek("gruppe") <> "" then if rstjek("gruppe") = "BUTIK2" then session("gruppe") = "prisgruppe2" end if if rstjek("gruppe") = "BUTIK3" then session("gruppe") = "prisgruppe3" end if else session("gruppe") = "prisgruppe1" end if end if conn.close else session("user") = "gæst" session("userid") = "" session("gruppe") = "" end if set conn=server.createobject("adodb.connection") cnpath="DBQ=" & server.mappath("/dataentry/statistik.mdb") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath set rsstat=server.CreateObject("ADODB.Recordset") rsstat.open "SELECT * FROM kundestat WHERE lcase(kundenr) ='"&lcase(session("user"))&"'",conn,3 if rsstat.recordcount < 1 then SQLStmt = "INSERT INTO kundestat (kundenr,antallogin,antalkoeb,samletkoeb) " SQLStmt = SQLStmt & "VALUES ('" & session("user") & "'" SQLStmt = SQLStmt & ",'" & 1 & "'" SQLStmt = SQLStmt & ",'" & 0 & "'" SQLStmt = SQLStmt & ",'" & 0 & "')" Set RS = Conn.Execute(SQLStmt) else antallogin = rsstat("antallogin") + 1 SQLStmt = "UPDATE kundestat SET antallogin='" & antallogin & "' where kundenr='" & session("user") &"'" Set RS = Conn.Execute(SQLStmt) end if response.redirect "forside.asp" %> <% =session("user") %><BR> <% =session("userid") %><BR> <% =session("gruppe") %><BR>
30. september 2002 - 15:07
#14
Har du testet hvad der står i request.form("kundenr") ? Ud over det, så er det meget nemt at hacke sig ind i det "sikkerheds" system der... Prøv at logge på med: ' OR 1=1 og password ' OR 1=1
30. september 2002 - 15:09
#15
Prøv at indsætte: SQLStmt = "INSERT INTO kundestat (kundenr,antallogin,antalkoeb,samletkoeb) " SQLStmt = SQLStmt & "VALUES ('" & session("user") & "'" SQLStmt = SQLStmt & ",'" & 1 & "'" SQLStmt = SQLStmt & ",'" & 0 & "'" SQLStmt = SQLStmt & ",'" & 0 & "')" response.write SQLStmt : response.end Set RS = Conn.Execute(SQLStmt)
30. september 2002 - 15:10
#16
Det er vel fordi at din session er udløbet så session ("user") ikke længere indeholder noget.
30. september 2002 - 15:12
#18
SQLStmt = "INSERT INTO kundestat (kundenr,antallogin,antalkoeb,samletkoeb) " SQLStmt = SQLStmt & "VALUES ('" & session("user") & "'" SQLStmt = SQLStmt & ",'1'" SQLStmt = SQLStmt & ",'0'" SQLStmt = SQLStmt & ",'0')"
30. september 2002 - 15:14
#19
jgp >> hehe.. den må jeg da lige huske :)
30. september 2002 - 16:49
#20
jeg kan godt lide du stiller et spørgsmål et sted. Og når du så ikke fatter de svar du får, så opretter du simpelthen en anden tråd. Det er dårlig stil :-/
30. september 2002 - 16:50
#21
*g* enhver med ASP viden burde kende den :D
01. oktober 2002 - 08:30
#22
Jeg har også fået, at vide at problemet kunne være at mine connections ikke er blevet lukket. Kunne det være problemet?
01. oktober 2002 - 10:27
#23
spectual -> dine koder giver følgende meddelelse i stedet for fejlmeddelelsen: INSERT INTO kundestat (kundenr,antallogin,antalkoeb,samletkoeb) VALUES ('','1','0','0')
Kurser inden for grundlæggende programmering