Avatar billede harryfink Praktikant
20. november 2002 - 15:53 Der er 10 kommentarer og
1 løsning

Simpel SQL i ASP

Goddag!

Jeg vil gerne vide hvad der skal stå i en simpel SQL sætning, hvor det eneste jeg skal er at tilføje en enkelt række i min Access database.

Man kan vel f.eks. skrive "SELECT * FROM kalender", men dette vil hente ALLE poster ind - omend man vel stadig kan tilføje rækker. Hvordan undgår man at hente alt dette ind?

Jeg ønsker at benytte rs.Addnew osv. uden at skulle skrive alle opdateringerne i SQL sætningen, hvis det er muligt!

MVH Mikkel
Avatar billede hells Nybegynder
20. november 2002 - 15:55 #1
Insert into tabelnavn (feltnavn1, feltnavn2) values(værdi1, værdi2)
Avatar billede harryfink Praktikant
20. november 2002 - 15:56 #2
Det var ikke helt det jeg mente... Jeg vil gerne ned i selve ASP'en og skrive f.eks.

rs.Addnew
rs("navn") = Request("navn")
rs("tlf") = Request("tlf")
...
rs.update
Avatar billede harryfink Praktikant
20. november 2002 - 16:11 #3
Jeg prøvede din metode:

strQuery = "INSERT INTO kalender (frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut) VALUES(frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut)"

Giver denne fejl:

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

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 8.

/signify/book_afsendt.asp, linje 21
Avatar billede harryfink Praktikant
20. november 2002 - 16:12 #4
Den første kolonne hedder "id" og er blot autonummerering.
Avatar billede hells Nybegynder
20. november 2002 - 16:21 #5
hvis det er autonummerering behøver du ikke at have den med i sql-sætningen.
hvad er det du vil med den sql-sætning du har skrevet? det ser ud som om du prøver at indsætte nogle værdier fra kolonner der allerede findes i den post, men som ikke findes.
Avatar billede justdoit Nybegynder
20. november 2002 - 16:24 #6
Det skal også se sådan ud hvis alle dine tabelnavne og variabler passer!!

strQuery = "INSERT INTO kalender (frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut) VALUES("frisorid", '"kundenavn"', "kundetlf", '"ydelser"', '"bemaerkninger"', "dato", '"start"', '"slut"')"
Avatar billede harryfink Praktikant
20. november 2002 - 16:26 #7
Den er jo netop heller ikke med - ser du en kolonne, der hedder "id" i sætningen, måske? ;)

Her er koden, så du nok kan få et overblik over hvad jeg vil.

<%
frisorid = Request("frisorid")
kundenavn = Request("navn")
kundetlf = Request("tlf")
ydelser = Request("ydelser")
bemaerkninger = "Ingen."
dato = Request("dato")
start = Request("tid")
slut = DateAdd("n", Request("varighed"), tid)


Set objConn = Server.CreateObject("ADODB.Connection")
NoDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("modul.mdb")
objConn.OPEN NoDSN

Set objRS = Server.CreateObject("ADODB.Recordset")
strQuery = "INSERT INTO kalender (frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut) VALUES(frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut)"
objRS.OPEN strQuery, objConn, adopenstatic
%>
Avatar billede harryfink Praktikant
20. november 2002 - 16:28 #8
Hov, justdoit, så ikke dit svar... Skal der anførselstegn omkring variabler?? frisorid skal jo ikke indeholde "frisorid", men derimod et tal...
Avatar billede hells Nybegynder
20. november 2002 - 16:31 #9
der skal apostrof om tekst og intet om tal
Avatar billede harryfink Praktikant
20. november 2002 - 16:32 #10
Ja... men det hele er jo VARIABLER. Der skal vel INTET om variabler??
Avatar billede harryfink Praktikant
20. november 2002 - 16:40 #11
Fandt selv løsningen...

strQuery = "INSERT INTO kalender (frisorid, kundenavn, kundetlf, ydelser, bemaerkninger, dato, start, slut) VALUES(" & frisorid & ",'" & kundenavn & "'," & kundetlf & ",'" & ydelser & "','" & bemaerkninger & "'," & dato & ",'" & start & "','" & slut & "')"
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
Kurser inden for grundlæggende programmering

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