Avatar billede mvk Nybegynder
27. maj 2003 - 13:09 Der er 12 kommentarer og
2 løsninger

Problemer med at skrive (insert) til tabel

jeg har en form hvori indkøbskurven og størrelse ligger (se link): http://www.capitolshop.dk/product.asp?IDproduct=13

jeg har prøvet at taste dette ind for at skrive productID, brugerens sessionID samt Quantity (1 stk) og Størrelse til shoppingcart tabellen, men jeg får fejl - pls help.

<%
If Request.Form("SubmitForm") = "Add to Cart" Then
    Dim productID 'as String
    Dim Quantity 'as String
    Dim sessionID 'as String
        Dim Size 'as String
    Dim boolInsert 'as boolean
    boolInsert = true
    productID = Request.Form("productID")
    Quantity = 1
        Size = Request.Form("Size")
    sessionID = Session.SessionID
If len(productID) < 1 Then
    boolInsert = False
End If
If boolInsert Then
    sqlQuery = "up_InsertIntoCart " & productID & ", " & Quantity & ", " & Size & ", " sessionID
    Set rs = Server.CreateObject("ADODB.Recordset")
    Set rs = db.Conn.Execute(sqlQuery)
CREATE    PROCEDURE up_InsertIntoCart
    @productID INT,
    @Quantity INT,
        @Size INT,
    @sessionID Varchar(100)
    AS
    Insert Into shoppingcart
        (sessionID, productID, Quantity, Size)
    Select
        @sessionID
        @productID
        @Quantity
                @Size
    Select * From shoppingcart WHERE sessionID = @sessionID
GO
%>

sig til hvis jeg mangler at give nogen informationer.
min form hedder: Add to Cart
produktet vises gennem "specific_product" recordset på baggrund af productID
Avatar billede mortenkjeldberg Nybegynder
27. maj 2003 - 14:05 #1
Kan du ikke vise os fejlbeskeden samt indholdet af up_InsertIntoCart

/Morten
Avatar billede mvk Nybegynder
27. maj 2003 - 14:22 #2
Morten - jeg har ikke super check på det:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/product.asp, line 19

sqlQuery = "up_InsertIntoCart " & productID & ", " & Quantity & ", " & Size & ", " sessionID
-----------------------------------------------------------------------------------^


.
hvad er det jeg angiver med "up_InsertIntoCart"
Avatar billede mvk Nybegynder
27. maj 2003 - 14:23 #3
det er noget jeg har forsøgt at implementere fra en bog
Avatar billede mortenkjeldberg Nybegynder
27. maj 2003 - 14:47 #4
Du mangler et & foran sessionID .
Jeg tror det er det.

/\Morten
Avatar billede mortenkjeldberg Nybegynder
27. maj 2003 - 14:51 #5
"up_InsertIntoCart" er en såkaldt stored procedure.
Avatar billede mvk Nybegynder
27. maj 2003 - 14:52 #6
det havde du ret i - men så kommer:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/product.asp, line 22

CREATE    PROCEDURE up_InsertIntoCart
--------------------^
Avatar billede mortenkjeldberg Nybegynder
27. maj 2003 - 15:01 #7
En stored procedure er normalt noget man kun lægger ind i databasen en gang. Herefter kalder man den med de parametre du også har angivet i din kode. Jeg tror fejlen skyldes at den ligger i db'en i forvejen.
Se følgende link:
http://www.aspemporium.com/aspEmporium/tutorials/StoredProcedures.asp

/\Morten
Avatar billede mvk Nybegynder
27. maj 2003 - 15:03 #8
hvilken en skulle ligge i databasen ? - InsertIntoCart - den gør ikke
Avatar billede mortenkjeldberg Nybegynder
27. maj 2003 - 15:10 #9
Ja det er "up_InsertIntoCart". Den kan ikke ses. "Stored procedures" er noget man bruger for at flytte funktionalitet ud på databasen så klienter der tilgår data ikke bliver "fede". Altså små programmer på klienten store på serveren.
Mit umiddelbare forslag ville være at du ikke brugte en sådan og bruger almindelig SQL der bliver kaldt hver gang.
Avatar billede mvk Nybegynder
28. maj 2003 - 11:08 #10
det ville være helt fint - men jeg aner ikke hvordan jeg skal implementere det
Avatar billede mortenkjeldberg Nybegynder
28. maj 2003 - 14:48 #11
Jamen det kommer lige her, det forudsætter at du har en connection til en database lavet, men det ser det ud til du har. Jeg har ikke lige testet det, så det kan være der er nogle små syntax fejl. Hvis der er det så send lige fejlen herind.

<%
If Request.Form("SubmitForm") = "Add to Cart" Then
    Dim productID 'as String
    Dim Quantity 'as String
    Dim sessionID 'as String
    Dim Size 'as String
    Dim boolInsert 'as boolean
    boolInsert = true
    productID = Request.Form("productID")
    Quantity = 1
    Size = Request.Form("Size")
    sessionID = Session.SessionID
    If len(productID) < 1 Then
      boolInsert = False
  End If
    If boolInsert Then
      Set rs = Server.CreateObject("ADODB.Recordset")
      Set rs = dbConn.Execute(“INSERT INTO shoppingcart (sessionID, productID, Quantity, Size)” & _
                                            “ VALUES (sessionID, productID, Quantity, Size)”)
      Set rs = db.Conn.Execute(sqlQuery)
      Set rs = Nothing
    End If
End If

dbConn.close
Set dbConn = Nothing

%>

/\Morten
Avatar billede mortenkjeldberg Nybegynder
30. maj 2003 - 15:46 #12
Kan du bruge det ?
Avatar billede mvk Nybegynder
02. juni 2003 - 11:57 #13
hej Morten
tester det i dag - Tak :)
Avatar billede mvk Nybegynder
24. juni 2003 - 11:28 #14
no working
men jeg har fundet en anden løsning
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