webForumDet fria alternativet

Count field incorrect

21 svar · 334 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

Hejsan!

Det är som så att när jag skriver ngt på 3-4 rader till databasen så fungerar det men så fort jag ska skriva in ett längre meddelande får jag detta felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 

[Microsoft][ODBC Microsoft Access Driver]COUNT field incorrect

trotts att jag har satt fältet till PM...

Jag skriver ut SQL sattsen och allt verkar vara perfekt, så jag fattar inte vad d e som knasar

icaaqMedlem sedan okt. 20005 273 inlägg
#2

Fixar du till några otillåtna tecken innan du gör din insert?

Visa lite kod :)

GimboMedlem sedan dec. 20001 626 inlägg
#3

nope hur skulle det se ut??
vilka är de otillåtna tecknena?

det enda jag gör nu är detta:

blabla = request.form("blabla")
blabla1 = request.form("blabla1")

SQL = "INSERT INTO tabell(kolumn1, k2, k3) Values('" & blabla & "', '" & blabla1 & "')"

Connect.Execute(SQL)
Connect.Close

respone.write "texten är inlagd"

hur ska jag göra för att fixa de otillåtna tecknena i formuläret där jag skriver in den långa texten??

icaaqMedlem sedan okt. 20005 273 inlägg
#4
[red]
SQL = "INSERT INTO tabell(kolumn1, k2, k3) Values('" &blabla& "'. '" & blabla1 & "')"
[/red]

Detta ser ju inte riktigt ut, du har ju 3 kolummner och endast två värden. Som dessutom är separerade med punkt(.)
ser det ut så där eller har du skrivit nått ur huvudet nu bara ?

@ndersMedlem sedan juni 200032 969 inlägg
#5

Du specificerar tre fält i din INSERT, men du ger bara två värden.
Vet inte om det har med detta felmeddelande att göra, dock.

Mvh,

GimboMedlem sedan dec. 20001 626 inlägg
#6

ojsan det där ser inte bra ut, jag skrev det direkt ur huvudet, men ni förstår i a f hur min kod ser ut, den ser ut så fast korrekt skriven...
så här ser min kod ut:

<%If Request.Querystring("admin") = "add" then %>
<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
	
	Artist = Request.Form("artist")
	Songtext = Request.Form("songtext")
	Songnamn = Request.Form("songnamn")
	Datum = Request.Form("datum")
	
	SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, Datum) VALUES('"& Artist &"', '"& Songtext &"', '"& Songnamn &"', #"& Datum &"#)"
	
	Connect.Execute(SQL)
	Connect.Close
	
	response.write "sång texten är upplagd"
End if
%>
LAMPMedlem sedan mars 2002777 inlägg
#7

Ursprungligen av @nders **Du specificerar tre fält i din INSERT, men du ger bara två värden.
Vet inte om det har med detta felmeddelande att göra, dock.

Mvh,**

Jo, när man har olika antal fält och values då brukar man få precis det felmeddelandet. :)

trexter.comMedlem sedan apr. 20021 203 inlägg
#8

Ett annat fel:

blabla = request.form("blabla")
blabla1 = request.form("blabla1")

Här försöker du hämta data från två olika formulär och så vitt jag vet så är det omöjligt för en besökare att skicka uppgifter från en sida med hjälp av två formulär! Kanske är det som orsakar felet?

[Edit]
kanske inte...

hypatiaMedlem sedan feb. 20016 388 inlägg
#9

Här försöker du hämta data från två olika formulär

Nja, han hämtar väl bara data från två olika fält i samma formulär?

LAMPMedlem sedan mars 2002777 inlägg
#10

Ursprungligen av Gimbo ojsan det där ser inte bra ut, jag skrev det direkt ur huvudet, men ni förstår i a f hur min kod ser ut, den ser ut så fast korrekt skriven...
så här ser min kod ut:

<%If Request.Querystring("admin") = "add" then %>
<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasen.mdb")
	
	Artist = Request.Form("artist")
	Songtext = Request.Form("songtext")
	Songnamn = Request.Form("songnamn")
	Datum = Request.Form("datum")
	
	SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, Datum) VALUES('"& Artist &"', '"& Songtext &"', '"& Songnamn &"', #"& Datum &"#)"
	
	Connect.Execute(SQL)
	Connect.Close
	
	response.write "sång texten är upplagd"
End if
%>

Den ser korrekt ut, är det svensk access är Datum reserverat ord, annars ser jag inget som kan vara fel i din senaste kod.

GimboMedlem sedan dec. 20001 626 inlägg
#11

a det är en svensk access, men det borde väl inte uppge det felet som jag får, för jag kan ju skriva kortare sång texter men så fort de blir lite längre så funger det inte och jag får det felmeddelande jag angav i mitt första inlägg

trexter.comMedlem sedan apr. 20021 203 inlägg
#12

Ursprungligen av hypatia

Här försöker du hämta data från två olika formulär

Nja, han hämtar väl bara data från två olika fält i samma formulär?

Märkte det... :r

LAMPMedlem sedan mars 2002777 inlägg
#13

vad har du för fälttyp på Songtext?

GimboMedlem sedan dec. 20001 626 inlägg
#14

den är satt till PM. Det här är väldigt skumt måste jag säga nu får jag detta felmeddelande efter att jag ändrade Datum till sDatum i databasen och koden:

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression
LAMPMedlem sedan mars 2002777 inlägg
#15

Hur ser koden ut nu?
Och vad får du om du skriver ut sql-frågan med response.write SQL?

GimboMedlem sedan dec. 20001 626 inlägg
#16
<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\db.mdb")
	
	Artist = Request.Form("artist")
	Songtext = Request.Form("songtext")
	Songnamn = Request.Form("songnamn")
	sDatum = Request.Form("datum")
	
	SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, sDatum) VALUES('"& Artist &"', '"& Songtext &"', '"& Songnamn &"', #"& sDatum &"#)"
	response.write SQL
	Connect.Execute(SQL)
	Connect.Close
	
	response.write "sång texten är upplagd"
End if
%>

utskriften av sql sattsen:

INSERT INTO lyric(Artist, Songtext, Songnamn, sDatum) VALUES('2 Pac', 'suspended from school, scared ta go home I was a fool with tha big boys breaking all tha rules shed tears with my baby sister over tha years we wuz poorer than tha other little kids and even though we had different dadies tha same drama when things went wrong we blamed mama I reminised on tha stress I caused, it wuz hell hugg'en on my mama from a jail cell and who'ed think in elementry, heeeey i'd see tha penatentry One day running from tha Police, that's right Momma catch me--put a whoop'en to my backside and even as a crack fiend mama, ya always was a black queen mama I finally understand for a woman it ain't easy--trying ta raise a man ya always wuz commited, a poor single mother on welfare, tell me how ya did it there's no way I can pay ya back but tha plan is ta show ya that I understand. you are appreciated...... Laaaaady, don't cha know we luv ya Sweeeet Laaaady, place no one above ya Sweeeet Laaaady, don't cha know we luv ya ', 'Dear mama', #2002-06-11#) 
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''suspended from school, scared ta go home I was a fool with tha big boys breaking all tha rules shed tears with my baby sister over tha years we wuz poorer than tha other little kids and even though we had different dadies tha same drama when things we'.

Kan det vara detta ' tecken som orsakar trubbel?? och hur gör jag för att bli kvitt d problemet?

LAMPMedlem sedan mars 2002777 inlägg
#17

Det blir inge bra om du inte escapar ' tecken i dina SQL-frågor ;)

Function FixaTecken(sText)
sText = Replace ( sText, "'", "''" )
FixaTecken = sText
End Function
<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\db.mdb")
	
	Artist = FixaTecken(Request.Form("artist"))
	Songtext = FixaTecken(Request.Form("songtext"))
	Songnamn = FixaTecken(Request.Form("songnamn"))
	sDatum = FixaTecken(Request.Form("datum"))
	
	SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, sDatum) VALUES('"& Artist &"', '"& Songtext &"', '"& Songnamn &"', #"& sDatum &"#)"
	response.write SQL
	Connect.Execute(SQL)
	Connect.Close
	
	response.write "sång texten är upplagd"
End if
%>
LarsGMedlem sedan dec. 200012 464 inlägg
#18
SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, sDatum)" & _
" VALUES('"& replace(Artist,"'","''") &"', '"& _
replace(Songtext,"'","''") &"', '"& _
replace(Songnamn,"'","''") &"', #"& sDatum &"#)"
icaaqMedlem sedan okt. 20005 273 inlägg
#19

Ursprungligen av icaaq **Fixar du till några otillåtna tecken innan du gör din insert?

Visa lite kod :)**

Precis vad LAMP visade exempel på nu ;)

Red. Och LarsG ;)

GimboMedlem sedan dec. 20001 626 inlägg
#20

nope d vill sig

SQL = "INSERT INTO lyric(Artist, Songtext, Songnamn, sDatum) VALUES('"&amp; replace(Artist,"'","''") &amp;"', '"&amp; _
--------------------------------------------------------------------------^
128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)