Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25
  1. #11
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    bleah
    a questa nn ci credo

    conqusto codice funziona

    codice:
     
                 Dim com As New OleDb.OleDbCommand
                com.CommandText = strsql
                com.Connection = conn
    eppure fanno le stesse cose ufffffffffffffffff :master:

  2. #12
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    uff mancava lae exceutennquery

  3. #13
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    ah ecco
    gli da fastidio quando ci sono questi campi
    destinazione_3
    destinazione_2
    destinazione_1
    se i campi nell'insert nn ci sno la prende"

    eppure esistono nel database

  4. #14
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,487
    Originariamente inviato da amodio
    ah ecco
    gli da fastidio quando ci sono questi campi
    [...]
    se i campi nell'insert nn ci sno la prende"
    Quando si dice "posta TUTTO il codice"...hai tagliato la parte relativa all'INSERT che probabilmente è quella che genera problemi.

    Ribadisco che, secondo me, devi postare il codice significativo (la procedura nella sua interezza) senza censura (perchè non sai qual è l'errore e quindi non sei in grado di dire quali parti puoi tralasciare e quali puoi inserire) unitamente al log completo dell'errore segnalato, con l'indicazione di parte dello stack.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #15
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811

    ok ok ecco qua

    codice:
    Imports System.Data.OleDb
    
    Public Class CLS_TestataDocumento
    
        Dim conn As New OleDbConnection
    
        Public Mastro As String
        Public conto As String
        Public sottoc As String
        Public mastro_forn As String
        Public conto_forn As String
        Public sottoc_forn As String
    
        Public listino As Long
        Public destinazione_1 As String
        Public destinazione_2 As String
        Public destinazione_3 As String
    
        Public datareg As String
        Public tipo_intervento As String
        Public anno_rif As String
        Public RcodTecnico As Long
        Public RcodTipoImpianto As Long
    
        Public Function Salva() As String
            Dim Valori As String
            Dim Campo As String
    
            If Me.Mastro <> "" Then
                Valori = Valori & "'" & Me.Mastro & "',"
                Campo = Campo & "Mastro" & ","
            End If
    
            If Me.conto <> "" Then
                Valori = Valori & "'" & Me.conto & "',"
                Campo = Campo & "conto" & ","
            End If
    
            If Me.sottoc <> "" Then
                Valori = Valori & "'" & Me.sottoc & "',"
                Campo = Campo & "sottoc" & ","
            End If
    
            If Me.mastro_forn <> "" Then
                Valori = Valori & "'" & Me.mastro_forn & "',"
                Campo = Campo & "mastro_forn" & ","
            End If
    
            If Me.conto_forn <> "" Then
                Valori = Valori & "'" & Me.conto_forn & "',"
                Campo = Campo & "conto_forn" & ","
            End If
    
            If Me.sottoc_forn <> "" Then
                Valori = Valori & "'" & Me.sottoc_forn & "',"
                Campo = Campo & "sottoc_forn" & ","
            End If
    
            If Me.listino <> 0 Then
                Valori = Valori & "" & Me.listino & ","
                Campo = Campo & "listino" & ","
            End If
    
            If Me.destinazione_1 <> "" Then
                Valori = Valori & "'" & Me.destinazione_1 & "',"
                Campo = Campo & "[destinazione_1]" & ","
            End If
    
            If Me.destinazione_2 <> "" Then
                Valori = Valori & "'" & Me.destinazione_2 & "',"
                Campo = Campo & "[destinazione_2]" & ","
            End If
            If Me.destinazione_3 <> "" Then
                Valori = Valori & "'" & Me.destinazione_3 & "',"
                Campo = Campo & "[destinazione_3]" & ","
            End If
            If Me.datareg <> "" Then
                Valori = Valori & "cdate('" & Me.datareg & "'),"
                Campo = Campo & "datareg" & ","
            End If
    
            If Me.anno_rif <> "" Then
                Valori = Valori & "'" & Me.anno_rif & "',"
                Campo = Campo & "anno_rif" & ","
            End If
            If Me.RcodTecnico <> 0 Then
                Valori = Valori & Me.RcodTecnico & ","
                Campo = Campo & "RcodTecnico" & ","
            End If
            If Me.RcodTipoImpianto <> 0 Then
                Valori = Valori & Me.RcodTipoImpianto & ","
                Campo = Campo & "RcodTipoImpianto" & ","
            End If
    
    
            Valori = Mid(Valori, 1, Len(Valori) - 1) '-1 xche c'è lo spazio dopo la virgola lla fine della concatenazione di ogni stringa con ,
            Campo = Mid(Campo, 1, Len(Campo) - 1)
    
            strsql = "insert into testate_schede (" & Campo & ") values (" & Valori & ")"
    
            Try
                Dim MyCommand As New OleDb.OleDbCommand(strsql, conn)
                MyCommand.ExecuteNonQuery()
            Catch err As Exception
                MsgBox(err.InnerException.ToString)
            End Try
    
    
        End Function
    
    
        Public Sub New()
    
            conn.ConnectionString = strConnAccess
            conn.Open()
            'Connessione.open()
        End Sub
    
        Protected Overrides Sub Finalize()
            On Error Resume Next
            conn.Close()
            GC.Collect()
            MyBase.Finalize()
            Err.Clear()
        End Sub
    End Class
    la classe contiene una funxione che esegue l'insert
    dal programma dichiaro
    una variabile di classe e valorizzo le sue variabili (funziona altrimenti nn entrerebbe qui) e alla fine mi concateno la stringa sql in base ai dati passati
    ho gia controllato se i valori fossero numerici e quali stringa quindi questa probabilita è da scartare

  6. #16
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,487
    La costruzione di statement SQL in questo modo è sempre una fonte interminabile di errori, poichè le stringhe possono, anzi contengono senz'altro caratteri che possono tranquillamente essere confusi con separatori SQL o altri caratteri speciali e quindi invalidare completamente lo statement.

    Invece di utilizzare un simile approccio, usa dei parametri OleDbParameter per specificare i valori da inserire nei campi.

    Probabilmente, uno dei valori parametrici (di cui non posso controllare la validità perchè solo tu puoi farlo eseguendo il debug del codice) invalida lo statement provocando l'errore riscontrato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #17
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    Originariamente inviato da alka invalida lo statement provocando l'errore riscontrato.
    ehm nn ho capito scusa...
    cosa vorresti dire?


    ah
    cmq se nella finestra immeditata quando mi da errore scrivo:
    ? strsql e la provo in access funziona benissimo(sai darmi un motivo?

  8. #18
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,487
    Originariamente inviato da amodio
    cmq se nella finestra immeditata quando mi da errore scrivo:
    ? strsql e la provo in access funziona benissimo(sai darmi un motivo?
    No, perchè si dovrebbe osservare lo stack delle chiamate per capire quale dei metodi che vengono chiamati in cascata genera l'errore. Probabilmente, non è un errore che si verifica a livello del codice presente nella tua applicazione, ma viene generato da una delle classi coinvolte appartenenti al framework che fanno da supporto per l'esecuzione della query.

    Tieni comunque presente che io non ho il tuo progetto sottomano, non possiedo i dati, non posso eseguire il codice passo per passo, non posso fare nulla per poter ispezionare gli elementi del tuo programma e dire in modo preciso quale di questi provoca problemi in base alle indicazioni fornite.

    Che altro posso fare?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #19
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,811
    va bene una cosa per volta

    dove osservo lo stack delle chiamate?

    grazie

  10. #20
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,487
    Originariamente inviato da amodio
    dove osservo lo stack delle chiamate?
    Dovrebbe essere visibile quando il programma si arresta a fronte dell'errore.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.