Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB - ACCESS] Errore su INSERT

    Ciao a tutti.
    ho un problemuccio con una insert.
    I campi da inserire sono tutte stringhe, fatta eccezione per Cartaceo,Elettronico e CD che sono booleani.

    Vi posto il codice... se trovate il problema mi fate un grosso favore:
    codice:
    Public Sub Add()
    
      Dim IntCartaceo As Integer, IntCD As Integer
      Dim IntElettronico As Integer
      
      If Cartaceo = True Then IntCartaceo = -1 Else IntCartaceo = 0
      If Elettronico = True Then 
             IntElettronico = -1 & _
         Else 
             IntElettronico = 0
      End If
      If CdAllegato = True Then IntCD = -1 Else IntCD = 0
      
      miasql = "Insert into tbCataloghi " & _
               "(Società,Testata,AnnoPubblicazione," & _
               "MesePubblicazione,Revisione,Cartaceo," & _
               "Elettronico,Categoria," & _
               "Note,Tipologia,Lingua1,Lingua2," & _
               "CdAllegato,DescrizioneCD,Piano,Armadio,Scaffale) "
      miasql = miasql & "values (""" & Società & """,""" & Testata & _
               ""","""" & AnnoPubblicazione & """,""" & _
               """"MesePubblicazione & """," & _
               """" & Revisione & ""","
      miasql = miasql & IntCartaceo 
      miasql = miasql & IntElettronico
      miasql = miasql & ",""" & Categoria & """," & _
               """" & Note & """,""" & _ 
               & Tipologia & """," & _
               """" & Lingua1 & """,""" & _ 
               & Lingua2 & ""","
      miasql = miasql & IntCD
      miasql = miasql & ",""" & DescrizioneCD & """," & _
               """" & Piano & """,""" & Armadio & """," & _
               """" & Scaffale & """)"
    
      MiaConn.Execute (miasql)
    
    End Sub
    grazie a tutti.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  2. #2
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Che errore ti da'?
    ChReAn
    -------------------

    Slackware 9.1 powered

  3. #3
    ops, scusami, ho dimenticato di scrivere l'errore.
    cmq mi dice:
    "Errore di sintassi nella query Insert Into"

    solo questo... e nient'altro!
    grazie.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Io personalmente farei due cose, per iniziare:

    1) eliminerei tutti i doppi apici dalla query e li sostituirei con i singoli apici. In questo modo togli un po' di confusione e non sei obbligato/a a vedere """""""""""...

    2) Lancerei l'applicazione in debug con breakpoint sulla query, la copiaincollerei su notepad e vedrei se e' sintatticamente corretta.
    In questo modo potrei accorgermi di eventuali valori non corretti passati alla clausola "Values" e/o di errori negli apici (cosa possibile con query di questa lunghezza).

    Infine, se non trovassi il problema, incollerei la query in access e proverei ad eseguirla inserendo dei valori opportuni.
    Se funzionasse controllerei i valori, altrimenti saprei con certezza che si tratta di un problema di sintassi.
    Ciapz!
    ChReAn
    -------------------

    Slackware 9.1 powered

  5. #5
    ok, provo a vedere se in access funziona, ma senza togliere i doppi apici, perchè se li sostituissi con l'apice singolo, access non riconoscerebbe le stringhe contenenti l'apostrofo.

    ti faccio sapere come va la mia prova.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  6. #6
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Ostia hai ragione... Avevo dimenticato le stringhe contenenti l'apostrofo.

    Famme sape'!
    ChReAn
    -------------------

    Slackware 9.1 powered

  7. #7
    allora, questa è la query fatta direttamente su ACCESS:
    codice:
    INSERT INTO tbCataloghi(Società,Testata,AnnoPubblicazione,MesePubblicazione,
    Revisione,Cartaceo,Elettronico,Categoria,[Note],Tipologia,
    Lingua1,Lingua2,CdAllegato,DescrizioneCD,Piano,Armadio,Scaffale)
    Values
    ("Prova","Titolo","2002","settembre","ultima",0,-1,"provacategoria",
    "ciao","provatipologia","ita","ing",0,"ppprova","provapiano",
    "provaarmdio","provascaffale")
    Sono tutti valori fittizi, inseriti per prova e come potete vedere sono tutte strighe, tranne i numerici, che in realtà sono booleani.

    Ora, su access la query funziona, ma da vb va in errore.
    io non sono in grado, o x lo meno fino ad ora non ce l'ho fatta, di trovare dove sia l'errore.
    aiutatemi voi, please.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  8. #8
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Prova a fare un insert "ridotta" e se funziona la espandi sempre di più...
    Per esempio, parti da:

    codice:
    INSERT INTO tbCataloghi (Società, Testata) Values ("Prova", "Titolo")
    E man mano gli aggiungi campi e valori...
    Arrivata al campo "minato" :gren: ti ritrovi l'errore...
    O no? :bubu:
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  9. #9
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da ladyBlu
    ops, scusami, ho dimenticato di scrivere l'errore.
    cmq mi dice:
    "Errore di sintassi nella query Insert Into"

    solo questo... e nient'altro!
    grazie.
    Ciao myLady,
    metti un punto di interruzione sulla query e appena si ferma visualizzala nella finestra immediata. Essendo campi stringa sicuramente ci sarà qualcuno di questi che contiene o un apice o una virgola e di conseguenza la insert divide il valore in due.

    Ricorda che le stringhe devono essere passate racchiuse tra apici singoli, basta fare un replace sui campi che ti creano il problema.


  10. #10
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    ricordati anche che se stai inserendo i valori in tutti i campi non c'è bisogno di specificare il loro nome nella query a meno che non li stai inserendo in una sequenza che non corrisponde al tracciato record della tabella.

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.