webForumDet fria alternativet

hittar inte felen i SQL, lägga till och uppdatera

Databaser & SQL

15 svar · 385 visningar · startad av SONICdust

Medlem sedan nov. 2003196 inlägg
Frågan#1

Börjar bli skapligt trött på alla små fel med SQL jag har.
Har nog kass på det helt enkelt...

Jag ska dels lägga till en post i en tabel och sen göra en uppdatering av en post, har en access databas med en tabel där i finns det ett räknar fält, ett datumfält och två fält som är sant eller faslkt.

lägg till

objConnect.Open(ConnString)
	SQL = ("INSERT INTO tblBiljett (fldDatum, fldFaPlatser, fldKvar) VALUES ('"& Request.Form("fldDatum") &"', '"& Request.Form("fldFaPlatser") &"', '"& Request.Form("fldKvar") &"');")
	Response.Write(SQL)
	objConnect.Execute
				
				
	objConnect.Close
Set objConnect	= Nothing

Fel:
Allt går iväg men det kommer inte in något i databasen

uppdatera

objConnect.Open(ConnString)					
	SQL = "UPDATE tblBiljett SET fldDatum = '" & Request.Form("fldDatum") & "', fldFaPlatser = '" & Request.Form("fldFaPlatser") & "', fldKvar = '" & Request.Form("fldKvar") & "' WHERE bId = " & Request.Form("bId") &";"
	Response.Write(SQL)
	objConnect.Execute
	
	objConnect.Close
Set objConnect	= Nothing

felmeddelnade:
Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Execute'

Hoppas någon kan hjälpa mig med mina problem börjar bli riktigt less på dom...

Medlem sedan juni 200032 967 inlägg
#2

Du måste ange vad du vill exekvera.

objConnect.Execute(SQL)

eller

objConnect.Execute SQL,,128

i dessa fall.

Medlem sedan okt. 20005 273 inlägg
#3
[red]
objConnect.Execute(SQL),,128
[/red]

du måste skicka in SQL i execute ;)
mv icaaq

Medlem sedan nov. 2003196 inlägg
#4

Får fortfarande fel.
"Data type mismatch in criteria expression. "

Då måste jag ha gjort något mer fel än det, börjar likna finn fem fel...

Medlem sedan okt. 20005 273 inlägg
#5

Då har du fnuttar där du inte ska ha det eller så har du inte fnuttar där det ska vara det.

Vad är det för DBMS?

Mv icaaq

Läste nu att det var en access

Vad är det för fälttyper?

fnuttar runt text och fnuttlöst runt tal. # runt datum

Medlem sedan juni 200032 967 inlägg
#6

Vad är det för datatyper på fälten?

Du skall inte ha apostrofer runt värden om fältet är av typen tal. Om det är Access du använder brukar det tyckas om att man omsluter datumvärden med brädgårdar.

mvh

Medlem sedan nov. 2003196 inlägg
#7

jag har datum fält i ett av fälten

är det så det ska vara?

SQL = "UPDATE tblBiljett SET fldDatum = '# & Request.Form("fldDatum") & #', fldFaPlatser = '" & Request.Form("fldFaPlatser") & "', fldKvar = '" & Request.Form("fldKvar") & "' WHERE bId = " & Request.Form("bId") &";"
Medlem sedan juni 200032 967 inlägg
#8

Bara brädgård, inte apostrofer också.

Medlem sedan okt. 20005 273 inlägg
#9
[red]
# & Request.Form("fldDatum") & #
[/red]

endast # utan '

mv icaaq

Medlem sedan nov. 2003196 inlägg
#10

om jag bara skriver

# & Request.Form("fldDatum") & #

då klagaren den på fnuttarna runt fldDatum... vet inte vad jag ska ta mig till med detta. behöver ha det klart nu det är det som är det jobbiga med det också...

Medlem sedan okt. 20005 273 inlägg
#11

Vad skrive ut av

[red]
Response.Write(SQL)
[/red]

mv icaaq

Medlem sedan okt. 20005 273 inlägg
#12

sorry

[red]
#" & Request.Form("fldDatum") &" #
[/red]

mv icaaq

Medlem sedan nov. 2003196 inlägg
#13

INSERT INTO tblBiljett (fldDatum, fldFaPlatser, fldKvar) VALUES ('2004-02-01', 'Falskt', 'Sant');

och

UPDATE tblBiljett SET fldDatum = '2004-02-07', fldFaPlatser = 'Falskt', fldKvar = 'Falskt' WHERE bId = 1;

när jag kör

						SQL = "UPDATE tblBiljett SET fldDatum = '" & Request.Form("fldDatum") & "', fldFaPlatser = '" & Request.Form("fldFaPlatser") & "', fldKvar = '" & Request.Form("fldKvar") & "' WHERE bId = " & Request.Form("bId") &";"
				SQL = ("INSERT INTO tblBiljett (fldDatum, fldFaPlatser, fldKvar) VALUES ('"& Request.Form("fldDatum") &"', '"& Request.Form("fldFaPlatser") &"', '"& Request.Form("fldKvar") &"');")
Medlem sedan nov. 2003196 inlägg
#14

nu funkar det fick göra om lite saker och ta bort alla enkel fnuttar, tack för all hjälp jag fick

Medlem sedan okt. 20005 273 inlägg
#15

Då postar man det rätta svaret och markerar tråden som löst ;)

mv icaaq

Medlem sedan nov. 2003196 inlägg
#16

sorry han tyvärr inte förut var tvungen att sticka ut ett tag.

insert

				SQL = ("INSERT INTO tblBiljett (fldDatum, fldFaPlatser, fldKvar) VALUES ('"& Request.Form("fldDatum") &"', "& Request.Form("fldFaPlatser") &", "& Request.Form("fldKvar") &");")

update

						SQL = "UPDATE tblBiljett SET fldDatum = '" & Request.Form("fldDatum") & "', fldFaPlatser = " & Request.Form("fldFaPlatser") & ", fldKvar = " & Request.Form("fldKvar") & " WHERE bId = " & Request.Form("bId") &";"

Det löste sig till slut när jag satta 1 och 0 på fälten som är true och false.

270 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)