+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 9 su 9

Errore di sintassi in Insert into.

  1. #1
    L'avatar di Louis
    Louis non  in linea Scribacchino
    La seguente istruzione Insert Into mi d errore di sintassi; francamente non riesco a capire il perch, nonostante abbia provato in tutti i modi, controllato e ricontrollato, c' qualcosa che non v ma non la rilevo ...
    ' La Terapia del Cliente NON  presente nel DB viene inserita:
            If RSTt1.EOF = True And RSTt1.BOF = True Then
                Dim sList1 As String
                Dim sList2 As String
                Dim i As Integer
                Dim j As Integer
                sList1 = ""
                sList2 = ""
                
                For i = 0 To (FrmInfoTerap.List1.ListCount - 1)
                    If i = (FrmInfoTerap.List1.ListCount - 1) Then
                        sList1 = sList1 & FrmInfoTerap.List1.List(i)
                        Else: sList1 = sList1 & FrmInfoTerap.List1.List(i) & "|"
                    End If
                Next i
                
                For j = 0 To (FrmInfoTerap.List2.ListCount - 1)
                    If j = (FrmInfoTerap.List2.ListCount - 1) Then
                        sList2 = sList2 & FrmInfoTerap.List2.List(j)
                        Else: sList2 = sList2 & FrmInfoTerap.List2.List(j) & "|"
                    End If
                Next j
                
                OggT1.ActiveConnection = CnsT1
                OggT1.CommandType = adCmdText
                
                OggT1.CommandText = "insert into TblTerapie(Titolo, Nome, Cognome, CodFisc, NomeDott, Note, TerapiaDisp, TerapiaAppl)" _
                    & "values ('" & Replace(FrmInfoTerap.TxtCt0x.Text, "'", "''") & "', '" & Replace(FrmInfoTerap.TxtCt1x.Text, "'", "''") & "', '" & Replace(FrmInfoTerap.TxtCt2x.ToolTipText, "'", "''") _
                    & "', '" & Replace(FrmInfoTerap.TxtCt3x.Text, "'", "''") & "', '" & Replace(FrmInfoTerap.TxtCt4x.Text, "'", "''") & "', '" & Replace(FrmInfoTerap.TxtCt5x.Text, "'", "''") & "', '" & (sList1) & "', '" & (sList2) & "');"
                OggT1.Execute
            End If
    
    (sList1) e (sList2) sono stringhe che carico con i valori inseriti in due ListBox, come potete rilevare dai cicli sopra esposti.
    Grazie per l'aiuto.
    ℹ️ Leggi di pi su Louis ...

  2. #2
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    non so se l'hai gi fatto questo riscontro, ma sarebbe utile inserire la query in una variabile di tipo String, e poi utilizzare il debug per analizzarne il contenuto:

    s = "insert into TblTerapie(Titolo, Nome, Cognome, CodFisc .... "
    Debug.Print s
    
    una volta ottenuto l'output sulla finestra immediata, posta qui il risultato cos possiamo analizzare la query completa.

    un utile sistema per risolvere questi problemi, comunque, l'uso di parametri, che rendono sicuramente meno confusionaria la gestione della stringa contenente la query.

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  3. #3
    L'avatar di Louis
    Louis non  in linea Scribacchino
    Ciao TT,
    ho fatto come hai detto, che peraltro in modo diverso avevo gi eseguito, a me sembra tutto a posto, ma l'errore continua:
    insert into TblTerapie(Titolo, Nome, Cognome, CodFisc, NomeDott, Note, TerapiaDisp, TerapiaAppl)values ('Signor', 'Giovanni', 'Rossi', 'GVNNRSSG01F206H501', 'Dott. Enzo Ricordi', 'Prova inserimento dati.', 'Elettrostimolazione|Laser|Magnetoterapia|Tecar|Tens|Ultrasuono|Altro da inserire|Massoterapia|Rieducazione funzionale|Linfodrenaggio manuale|Ginnastica respiratoria|Ginnastica posturale|Altro da inserire', 'Diadinamic|Infrarosso|Ionoforesi');
    
    Nel frattempo ho corretto il seguente errore Replace(FrmInfoTerap.TxtCt2x.ToolTipText che mi era prima sfuggito.
    Ultima modifica di Louis; 15-04-2007 19:28  Motivo: integrazione
    ℹ️ Leggi di pi su Louis ...

  4. #4
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    il problema dovuto all'uso di una parola riservata come nome di campo:

    Note

    prova a cambiare il nome del campo, magari in "Annotazioni", oppure racchiudilo tra parentesi quadre, quindi:

    insert into TblTerapie(Titolo, Nome, Cognome, CodFisc, NomeDott, [Note], TerapiaDisp ...
    
    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  5. #5
    L'avatar di Louis
    Louis non  in linea Scribacchino
    Grazie TT, andata ..., ho perso tanto di quel tempo, da non dire ...
    ℹ️ Leggi di pi su Louis ...

  6. #6
    L'avatar di Cteniza
    Cteniza non  in linea Amanuense
    Un consiglio, piuttosto di fare acrobazie con le stringhe inizia anche tu ad utilizzare i parametri.
    La tua insert diventa:

    OggT1.CommandText = "INSERT INTO TblTerapie(Titolo, Nome, Cognome, CodFisc, NomeDott, Note, TerapiaDisp, TerapiaAppl)" _
    & " VALUES(?,?,?,?,?,?,?,?)"
    A seguire i parametri da appendere con l'ordine di comparizione ripetuto per ciascun parametro
    prm = new ADODB.Parameter
    prm. ... 'data type, ecc
    prm.Value = frmINfoTerap.TxtCt0x.Text 'senza replace o conversioni di sorta!
    Ogg1.Parameters.Append(prm)
    ℹ️ Leggi di pi su Cteniza ...

  7. #7
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Quote Originariamente inviato da Cteniza Visualizza il messaggio
    Un consiglio, piuttosto di fare acrobazie con le stringhe inizia anche tu ad utilizzare i parametri.
    sono pienamente d'accordo... lo avevo consigliato anche io un paio di post fa

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  8. #8
    L'avatar di Louis
    Louis non  in linea Scribacchino
    Ma s avete ragione, una questione di abitudine (cattiva a quanto pare), per questa volta le acrobazie non centrano, dato che si trattava di una frase riservata.
    La cosa l'avevo intuita, ma non riuscivo a trovare il paragone.
    Per finire, con una buona intenzione, dove posso trovare un tutorial su come impostare i parametri ?
    Grazie a tutti, in particolare a TT.
    ℹ️ Leggi di pi su Louis ...

  9. #9
    L'avatar di gibra
    gibra non  in linea Very Important Person

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Errore di sintassi
    Da genespos nel forum PHP
    Risposte: 5
    Ultimo Post: 04-07-2014, 11:28
  2. errore di sintassi nell'istruzione INSERT INTO
    Da Sid233 nel forum Visual Basic 6
    Risposte: 9
    Ultimo Post: 10-03-2011, 21:08
  3. errore di sintassi
    Da bordelloweb nel forum Visual Basic 6
    Risposte: 5
    Ultimo Post: 13-06-2009, 23:32
  4. [VB6] Errore di sintassi
    Da dolcissimo nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 05-06-2007, 16:18
  5. Errore di sintassi
    Da Kovacevic83 nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 13-04-2005, 10:54