none
HELP AIUTO INSERT UPDATE MYSQL RRS feed

  • Domanda

  • Ciao A tutti del Forum ,

    come al solito mi affido a Voi per un aiuto,

    Ho una Rubrica dove vado a inserire i dati NOME, COGNOME , ECC. con INSERT tutto regolare 

    volevo con lo stesso Public Sub MemoRubrica() fare INSERT E UPDATE , nel caso il record fosse esistente magari lo modifica con UPDATE che mi viene più comodo invede di fare due Public Sub INSERISCIRubrica()  e Public Sub MODIFICARubrica()

    SECONDO voi è possibile magari con un EXIST o NOT EXIST  grazie per l'aiuto 

    Paolo 

    ****************************************************

     Public Sub MemoRubrica(NumeroGsm As String, NomeCliente As String, AccountCode As String, indirizzo As String, note As String)
            If note = "" Then note = "Note"
            Try
                If dbconn_xGSM.open() = 1 Then

                Else
                    dbconn_xGSM.close()
                End If

            Catch ex As Exception

                MsgBox("Connection Error: " & ex.Message.ToString)
            End Try

            sql = "INSERT messages.rubrica ( `gsmnumber`, `name`, `surname`, `address`, `note`)values(@gsmnumero,@Nome,@account,@indirizzo,@note)WHERE NOT EXISTS `gsmnumber` =" & NumeroGsm
            ' COMMENTATO sql = "UPDATE rubrica SET gsmnumber=@gsmnumero , name=@NomeCliente , surname= @account, address=@indirizzo, note= @note WHERE gsmnumber=" & NumeroGsm
            Try
                Using dbconn_xGSM
                    Dim command As New MySqlCommand(sql, dbconn_xGSM)
                    command.Parameters.AddWithValue("@gsmnumero", NumeroGsm)
                    command.Parameters.AddWithValue("@Nome", NomeCliente)
                    command.Parameters.AddWithValue("@account", AccountCode)
                    command.Parameters.AddWithValue("@indirizzo", indirizzo)
                    command.Parameters.AddWithValue("@note", note)
                    command.Connection.Open()
                    command.ExecuteNonQuery()
                End Using


            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            dbconn_xGSM.close()
        End Sub


    Paolo Spagnolo

    mercoledì 8 settembre 2021 14:30

Tutte le risposte

  • Quello che farei io è un metodo tipo FindBy che fa una select che ti restituisce un record, gli passi come parametro i dati/il dato che deve essere univoco e se la funzione ti restituisce un risultato fai l'update, altrimenti una insert.

    In questo modo risolvi il problema ed hai una funzione per estrarre un record (che può serve servire...)

    mercoledì 8 settembre 2021 15:59