Salve a tutti.
Ho creato due funzioni.
Una funzione generica per l'inserimento, la modifica e la cancellazione dei record e un'altra per il recupero dei record.
La comodità è che non devo dichiarare ogni volta i vari oggetti, dataset, dataadapter, command, datatable etc.., connection etc…
Volevo farvele vedere e se per cortesia, mi date qualche consiglio per migliorarle, grazie.
la prima è per l'inserimento, modifca e cancellazione di record
ho scelto la formattazione c#…non ho trovato vbnet.
Public Function fCommandMySql(ByVal cnString As String, ByVal command As String, Optional ByVal NomeArchivio As String = "") As Integer
Dim con As New MySqlConnection
Dim result As Integer
If cnString <> "" Then
con.ConnectionString = cnString
Dim cmd As New MySqlCommand
Try
con.Open()
With cmd
.CommandTimeout = 600000
.Connection = con
.CommandText = command
result = cmd.ExecuteNonQuery
If result > 0 And InStr(command.ToUpper, "INSERT") > 0 Then
result = cmd.LastInsertedId
End If
End With
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Close()
con.Dispose()
End If
Return result
End Function
dei piccoli esempi:
per l'inserimento : fCommandMySql(StringadiConnessione,"Insert into Tabella set Campo1=Valorecampo1…","Archivio_Clienti")
per l'inserimento : fCommandMySql(StringadiConnessione,"INSERT INTO table_name (column1, ...) VALUES (value1, ...)","Archivio_Clienti")
per la modifica : fCommandMySql(StringadiConnessione,"Update Tabella set Campo1=Valorecampo1 where Codice=123,"Archivio_Clienti")
per la cancellazione : fCommandMySql(StringadiConnessione,"DELETE FROM table_name WHERE condition","Archivio_Clienti")
nel caso di aggiunta (Insert) mi ritorna l'ultimo Id
ora vi faccio vedere quella per il recupero dei record
Public Function fGetRecordMysql(ByVal ConnessioneStr As String, ByVal SqlString As String) As DataTable
Try
fGetRecordMysql = Nothing
Dim conn As New MySqlConnection
If Not conn Is Nothing Then conn.Close()
conn.ConnectionString = ConnessioneStr
conn.Open()
Dim cmd As New MySqlCommand
cmd.Connection = conn
Dim adp As MySqlDataAdapter = New MySqlDataAdapter(SqlString, conn)
adp.SelectCommand.CommandTimeout = 600000
Dim dt As DataTable = New DataTable()
adp.Fill(dt)
conn.Close()
conn.Dispose()
cmd.Dispose()
adp.Dispose()
return dt
Catch ex As Exception
MsgBox("fGetRecordMysql" & " " & ex.Message)
Return Nothing
End Try
End Function
…mi date qualche suggerimento ?
Grazie