Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34

Discussione: Errore di sintassi

  1. #1

    Errore di sintassi

    Scusate ma dove stà l'errore in questo codice:

    codice:
    sqlString = "INSERT INTO ordini, ordinidettaglio (" &_
      "ordini_id, " &_
      "ordini_utenteID, " &_
      "ordini_ordineID, " &_
      "ordini_prodottoID, " &_
      "ordini_quantita, " &_
      "ordini_prezzoprodotto, " &_
      "ordinidettaglio_ordineID, " &_
      "ordinidettaglio_spesespedizione, " &_
      "ordinidettaglio_tipopagamento, " &_
      "ordinidettaglio_dataconferma, " &_
      "ordinidettaglio_stato " &_
      ") SELECT " &_
      "carrello_id, " &_
      "carrello_utenteID, " &_
      " 100, " &_
      "carrello_prodottoID, " &_
      "carrello_quantita, " &_
      "prodotti_prezzo, " &_
      " 100, " &_
      "" & replace(spesespedizione, ",", ".") & ", " &_                
      "'" & tipopagamento & "'," &_
      "NOW(), " &_
      "0 " &_ 
      "FROM carrello, prodotti " &_
      "WHERE carrello_utenteID =" & userID & " " &_
      "AND carrello_prodottoID = prodotti_id "
    Con.Execute sqlString

    Mi esce tale errore:
    Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
    [MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ' ordinidettaglio (ordini_id, ordini_utenteID, ordini_ordineID,

    Eppure mi sembra di aver fatto giusto, credo !

  2. #2
    non puoi fare la INSERT in due tabelle!

  3. #3
    .....azzolina

    Per cui divido l'insert ?!

  4. #4
    Ok, ho cambiato e funziona !!
    Ora invece ho un altro problema, vorrei creare per ogni checkout un numero di ordine in automatico per poi inserire il valore nella tabella ordini e ordinidettaglio (ora sto usando un imptetico numero 888 come puoi vedere).
    Mi dai una date una dritta per farlo?!
    Ciao

    codice:
    ' trasferisci carrello alla tabella ordini
    sqlString = "INSERT INTO ordini (" &_
      "ordini_id, " &_
      "ordini_utenteID, " &_
      "ordini_ordineID, " &_
      "ordini_prodottoID, " &_
      "ordini_quantita, " &_
      "ordini_prezzoprodotto " &_
      ") SELECT " &_
      "carrello_id, " &_
      "carrello_utenteID, " &_
      " 888, " &_
      "carrello_prodottoID, " &_
      "carrello_quantita, " &_
      "prodotti_prezzo " &_
      "FROM carrello, prodotti " &_
      "WHERE carrello_utenteID =" & userID & " " &_
      "AND carrello_prodottoID = prodotti_id "
    Con.Execute sqlString
    
    ' trasferisci carrello alla tabella ordinidettaglio, uso il replace per cambiare la virgola del prezzo in punto per la numerazione inglese
    sqlString = "INSERT INTO ordinidettaglio (" &_
      "ordinidettaglio_ordineID, " &_
      "ordinidettaglio_spesespedizione, " &_
      "ordinidettaglio_tipopagamento, " &_
      "ordinidettaglio_dataconferma, " &_
      "ordinidettaglio_stato " &_
      ") SELECT " &_
      " 100, " &_
      "" & replace(spesespedizione, ",", ".") & ", " &_                
      "'" & tipopagamento & "'," &_
      "NOW(), " &_
      "0 " &_ 
      "FROM ordini " &_
      "WHERE ordini_ordineID =" & 888 & " 
    Con.Execute sqlString
    
    ' svuota tabella carrello
    sqlString = "DELETE FROM carrello " &_
      "WHERE carrello_utenteID=" & userID
    
    Con.Execute sqlString

  5. #5

  6. #6

    Crezione numero ordine in automatico con ASP

    Ho cambiato il titolo del post

  7. #7
    stiamo parlando di due tabelle Master/Detail - ci capiamo, si'?

    1. INSERT nella tabella "Master"
    2. Recupero dell'ID appena inserito nella tabella "Master" con @@IDENTITY (cerca nel forum)
    3. INSERT nella tabella "Detail" usando come Id di correlazione l'ID recuperato in 2.

  8. #8
    Ok, un attimo !!
    Resetto tutto e ricomincio, mi aiuti passo a passo ?

    RESETTTTTTTTTTTTTTTTT


    Nel seguente codice:
    codice:
    ' trasferisci carrello alla tabella ordini
    sqlString = "INSERT INTO ordini (" &_
      "ordini_id, " &_
      "ordini_utenteID, " &_
      "ordini_spesespedizione, " &_
      "ordini_tipopagamento, " &_
      "ordini_dataconferma, " &_
      "ordini_stato " &_
      ") SELECT " &_
      "carrello_id, " &_
      "carrello_utenteID, " &_
      "" & replace(spesespedizione, ",", ".") & ", " &_
      "'" & tipopagamento & "'," &_
      "NOW(), " &_
      "0 " &_
      "FROM carrello, prodotti " &_
      "WHERE carrello_utenteID =" & userID & " " &_  
      "AND carrello_prodottoID = prodotti_id "
    Con.Execute sqlString
    in cui trasferisco il carrello agli ordini vorrei creare una sola riga di inserimento, mentre adesso me li inserisci quante sono le rghe del carrello (ogni articolo possiede una riga nel db).

    Credo che l'errore sia in:
    codice:
      "WHERE carrello_utenteID =" & userID & " " &_  
      "AND carrello_prodottoID = prodotti_id "
    Come faccio a sistemare?

  9. #9
    INSERT e WHERE non vanno d'accordo...

  10. #10
    Eppure funziona !

    Se tolgo queste due righe mi trasferisce tutti i record a "ordini", invece voglio filtrare solo quello del cliente identificato in quella sessione e creare un solo record in "ordini", non uno per ogni prodotto !!.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.