Avatar billede willi Nybegynder
03. september 2003 - 21:17 Der er 12 kommentarer og
1 løsning

SQL Execute flere sætninger

Hvad går galt

strSQL = "Insert into personer (Fornavn) values('" & Request.Form("Fornavn")
strSQL = "Insert into personer (Efternavn) values('" & Request.Form("Efternavn")
strSQL = "Insert into personer (Telefon) values('" & Request.Form("Telefon")& "')"

Conn.Execute(strSQL)

Jeg har forsøgt med  Form("Fornavn"),
Men det er ikke godt nok.
Avatar billede willi Nybegynder
03. september 2003 - 21:18 #1
Sådan ser den ud:

strSQL = strSQL & "values( "


strSQL = "Insert into personer (Fornavn) values('" & Request.Form("Fornavn")
strSQL = "Insert into personer (Efternavn) values('" & Request.Form("Efternavn")
strSQL = "Insert into personer (Telefon) values('" & Request.Form("Telefon")& "')"

Conn.Execute(strSQL)
Avatar billede squashguy Nybegynder
03. september 2003 - 21:18 #2
insert into personer (fornavn, efternavn, telefon) values(var1,var2,var3)
Avatar billede willi Nybegynder
03. september 2003 - 21:37 #3
Så får jeg denne medd.
Slut på sætning var ventet
/DBtilfoej.asp, line 18, column 28
strSQL = strSQL & "values( "var1, var2, var3")"

strSQL = strSQL & "values( "var1, var2, var3")"
Conn.Execute(strSQL)
Avatar billede squashguy Nybegynder
03. september 2003 - 21:59 #4
fornavn = Replace(Request.Form("Fornavn"), "'", "''")
efternavn = Replace(Request.Form("Efternavn"), "'", "''")
telefon = Replace(Request.Form("Telefon"), "'", "''")

strSQL = _
    "insert into personer (fornavn,efternavn,telefon) values(" &_
    "'" & fornavn & "'," &_
    "'" & efternavn & "'," &_
    "'" & telefon & "')"
Avatar billede ocp Nybegynder
03. september 2003 - 22:42 #5
Du kan IKKE eksekvere flere inserts i den samme execute - det skal gøres således:

sValues = "'" & Request.Form("Fornavn") & "'" & ","
sValues = sValues & "'" & Request.Form("Efternavn") & "'" & ","
sValues = sValues & "'" & Request.Form("Telefon") & "'"


strSQL = "insert into personer (fornavn,efternavn,telefon) values (" & sValues & ")"

conn.Execute(strSQL)
Avatar billede ocp Nybegynder
03. september 2003 - 22:43 #6
PS: Og squashguy understreger ganske rigtigt at det er vigtigt at tage hensyn til brugen af ' - det kan du selv sætte på...
Avatar billede janus_007 Nybegynder
04. september 2003 - 07:49 #7
Personen hedder Per Larsen
Og har tlfnr.: 36361448');(drop table personer where 'a' = 'a

Og pludselig er din tabel væk.

Pas nu på med bare at request form felter på den dumme måde !!
Avatar billede willi Nybegynder
04. september 2003 - 09:04 #8
>janus 007. Hvad mener du?
Måske skulle jeg lige sige jeg anvender access.
where 'a'='a referer ikke til noget jeg kender.
Eller gør det :?
Avatar billede willi Nybegynder
04. september 2003 - 09:54 #9
>ocp Jeg får en syntax fejl i strSQL = "insert into personer (fornavn,efternavn,telefon) values (" & sValues & ")"

Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.
/tDBtilfoej.asp, line 34
Avatar billede janus_007 Nybegynder
04. september 2003 - 11:10 #10
Udskriv din sValues og post her !!

Prøv så bagefter at skrive de navne ind som jeg har angivet og post dem nedenunder :O)
Avatar billede willi Nybegynder
04. september 2003 - 11:39 #11
Jeg har fået den til at virke. Temmelig tungt arbejde.
Ocp's løsning virker. Måske også din. Men lige nu nyder jeg det bare lidt.
Masser af syntax fejl er overstået (der er ialt 14 poster).
Og er ordet "By" et reserveret ord!!
Men sådan er der så meget ;)
Tak for hjælpen
Avatar billede ocp Nybegynder
04. september 2003 - 13:49 #12
Ja, men du kan godt bruge "by" det skal bare skrives sådan her [by] - så ved SQL Serveren at det er et feltnavn.
Avatar billede janus_007 Nybegynder
04. september 2003 - 14:50 #13
Fået til at virke... hmmm - Det virker vist ikke særligt sikkert overfor hackerangreb!
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
Computerworld tilbyder specialiserede kurser i database-management

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