Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB2010] Problema funzione con query parametrica

    Ciao a tutti,

    ho un problema tra una funzione e una query parametrica. Sicuramente è un mio errore però non lo riesco a trovare.

    Questo il codice funzione:

    Codice PHP:
        Public Function InsertMachine(ByVal id_cliente As IntegerByVal seriale As StringByVal descrizione As StringByVal attivo As StringByVal fornitore As String) As Boolean
            db
    .apri()
            
    Dim sqlCommand As New MySqlCommand
            Dim InserisciMacchina 
    As String
            
    Try
                
    'Stringa SQL di inserimento con i parametri
                InserisciMacchina = "INSERT INTO TblMacchine (id, id_cliente, seriale, descrizione, attivo, fornitore) VALUES (@id, @id_cliente, @seriale, @descrizione, @attivo, @fornitore)"
                '
    Stampo a video la stringa SQL per verificare se è corretta
                MsgBox
    (InserisciMacchina)
                
    'Connetto il database MySql 
                sqlCommand.CommandText = InserisciMacchina
                sqlCommand.CommandType = CommandType.Text
                '
    Setto i parametri dei valori
                sqlCommand
    .Parameters.AddWithValue("@id"Nothing)
                
    sqlCommand.Parameters.AddWithValue("@id_cliente"id_cliente)
                
    sqlCommand.Parameters.AddWithValue("@seriale"seriale)
                
    sqlCommand.Parameters.AddWithValue("@descrizione"descrizione)
                
    sqlCommand.Parameters.AddWithValue("@attivo"attivo)
                
    sqlCommand.Parameters.AddWithValue("@fornitore"fornitore)
                
    'Eseguo il comando SQL
                sqlCommand.ExecuteNonQuery()
                Return True
            Catch ex As Exception
                Return False
                MsgBox("Error occured: Could not insert record", vbCritical, "Errore")
            End Try

        End Function 
    mentre questo è il codice che ho sul tasto salva del mio form

    Codice PHP:
     cli.InsertMachine(frmClienteDettaglio.txtChiaveCliente.TexttxtSeriale.TexttxtDescrizione.TextchbAttivo.CheckStatetxtFornitore.Text
    dove cli è dichiarato così:

    Codice PHP:
    Dim cli As New clsClienti 
    e clsClienti è la classe che contiene la mia funzione.

    Mi sapete aiutare a trovare l'errore?
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma di quale errore parli ?

    E quando ti connetti al DB .. non vedo il codice per l'apertura della connessione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Ciao,

    mi connetto al DB come prima istruzione dopo la dichiarazione di funzione con il codice:

    Codice PHP:
    db.apri 
    L'errore è che non avviene l'inserimento dei dati nella tabella, forse se lo scrivevo era di aiuto un pochino .
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Neo996sps
    Ciao,

    mi connetto al DB come prima istruzione dopo la dichiarazione di funzione con il codice:

    Codice PHP:
    db.apri 
    Sì ma intendevo dire che il Command non è collegato in nessun modo al tuo db aperto (ovvero non c'è alcun riferimento alla connection da utilizzare).

    Penso che debba assegnare anche la proprietà

    sqlCommand.Connection = ...

    con l'oggetto connection a cui si riferisce il DB
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    l'avevo detto che era colpa mia... Per i posteri:

    Codice PHP:
    Public Function InsertMachine(ByVal id_cliente As IntegerByVal seriale As StringByVal descrizione As StringByVal attivo As StringByVal fornitore As String) As Boolean
            db
    .apri()
            
    Dim sqlCommand As New MySqlCommand
            Dim InserisciMacchina 
    As String
            
    Try
                
    'Stringa SQL di inserimento con i parametri
                InserisciMacchina = "INSERT INTO TblMacchine (id, id_cliente, seriale, descrizione, attivo, fornitore) VALUES (@id, @id_cliente, @seriale, @descrizione, @attivo, @fornitore)"
                '
    Stampo a video la stringa SQL per verificare se è corretta
                
    'MsgBox(InserisciMacchina)
                '
    Connetto il database MySql 
                sqlCommand
    .Connection db.conn
                sqlCommand
    .CommandText InserisciMacchina
                sqlCommand
    .CommandType CommandType.Text
                
    'Setto i parametri dei valori
                sqlCommand.Parameters.AddWithValue("@id", Nothing)
                sqlCommand.Parameters.AddWithValue("@id_cliente", id_cliente)
                sqlCommand.Parameters.AddWithValue("@seriale", seriale)
                sqlCommand.Parameters.AddWithValue("@descrizione", descrizione)
                sqlCommand.Parameters.AddWithValue("@attivo", attivo)
                sqlCommand.Parameters.AddWithValue("@fornitore", fornitore)
                '
    Eseguo il comando SQL
                sqlCommand
    .ExecuteNonQuery()
                Return 
    True
            
    Catch ex As Exception
                
    Return False
                MsgBox
    ("Error occured: Could not insert record"vbCritical"Errore")
            
    End Try

        
    End Function 
    Errare è umano, ma per fare veramente casino ci vuole la password di root

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Neo996sps
    l'avevo detto che era colpa mia...
    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.