Salve a tutti 🙂
Ricordo ancora le maledizioni 🙂 che lanciai a mamma Microsoft quando decise di punto in bianco di cambiare completamente il nostro caro ed oramai sempre più “fu” Visual Basic 6.0 con l’ormai noto VBNet.
Visual Basic 6.0 era diventato così stabile così conosciuto e così compatibile con tutto…ma proprio tutto…e ricordo la semplicità d’uso, specialmente con la gestione dei database. Aggiungevi l’odiato/amato (più amato) oggetto Data…et voilà…comandavi il mondo.
Un singolo oggetto che ti dava la possibilità di gestire un db con pochissimi comandi.
Oggi ci ritroviamo sempre più con oggetti come Connessioni, DataSet, DataTable, Command, Reader, Row e diavolerie varie (che col tempo amerai anche loro) 🙂
All’inizio chi proviene da VB6 deve armarsi, a mio avviso, davvero di tanta pazienza, ed ecco perchè ho deciso di creare questo tool per facilitare l’uso dei Databases (per il momento MySql, ma a brevissimo lo farò anche per Microsoft Access) con VBNet.
Ho creato AtOmik_Db_MySql.
Si tratta di una DLL che potete importare e referenziare nei vs progetti e come per magia con un solo comando gestirai il tuo Database Mysql 🙂
Ecco cosa devi fare se decidessi di provarla
- Scarica la DLL (32 bit) AtOmik_Db_MySql
- Caricala/Referenziala nel tuo progetto
3. Aggiungi un modulo. Dentro il modulo richiamiamo il namespace e dichiaramo il nuovo oggetto (io l’ho chiamato AtomikDLL voi…come volete 🙂 ) di tipo Public. Così potrete chiamarlo da qualsiasi parte del vs progetto. Già che ci siete dichiarate Public anche la stringa di connessione. Io ho usato un mio db chiamato Luoghi…ovviamente voi mettere il vs 🙂
Fatto? 🙂
Bene ora vi spiego brevemente come utilizzarlo.
Supponiamo di voler filtrare dalla tabella luoghi tutte i luoghi che iniziano con “Pado” e mostrarli in una DataGridView…niente di più semplice.
Dim Res = AtomikDLL.fCommandDb(ConnStr,”Select * from Luoghi where Denominazione like ‘Pado%’)
la funzione fCommadDb resistuisce una struttura così composta :
Public Structure DbStru
Dim Dt As DataTable
Dim NumRecord As Integer
Dim LastId As Integer
Dim Errore As String
End Structure
Qundi per mostrare i record mi basta fare così
DataGridView1.DataSource=Res.Dt
per sapere il numero di record
LbNumRecord=res.NumeRecord
per sapere se andata a buon fine
if res.errore=”” then msgbox (“Ok”) else MsgBox(“Attenzione….”)
Per aggiungere un record
‘add record
Dim res = AtomikDLL.fCommandDb(ConnStr, “Insert into Luoghi set Denominazione='” & TxtDenominazione.Text.Replace(“‘”, “””) & “‘”)
If res.Errore = “” Then
MsgBox(“Ok Id = ” & res.LastId)
Else
MsgBox(res.Errore)
End If
La funzione in caso di nuovo inserimento e se nella tabella esiste un campo chiamato ID di tipo AutoIncrement restituirà l’Id dell’ultimo record appena aggiunto.
Ovviamente anche per la modifica e la cancellazione si può usare la stessa funzione…ecco come! 🙂
‘update record
Dim res = AtomikDLL.fCommandDb(ConnStr, “Update luoghi set Denominazione='” & TxtDenominazione.Text.Replace(“‘”, “””) & “‘ where denominazione=’fantasy'”)
If res.Errore = “” Then
MsgBox(“Ok “)
Else
MsgBox(res.Errore)
End If
e la cancellazione
‘delete record
Dim res = AtomikDLL.fCommandDb(ConnStr, “Delete from luoghi where Denominazione='” & TxtDenominazione.Text.Replace(“‘”, “””) & “‘”)
If res.Errore = “” Then
MsgBox(“Ok “)
Else
MsgBox(res.Errore)
End If
Questo è il programma in esecuzione
Qui puoi scaricare il sorgente di un piccolo esempio d’uso della DLL 🙂
Io ho usato come connettore il MySql 6.9.2 Assemblies 4.0
Ovviamente dove referenziare anche il connettore MySql 6.9.2 Assemblies 4.0 Oppure copiarlo (MySql.Data.dll) dove avete il vs eseguibile 🙂
Inutile dirvi che non mi assumo nessuna responsabilità per eventuali danni a pc o altri software installati nei vs pc, e comunque a me non ha dato nessun problema 🙂
Spero possa aiutarvi, magari me lo fate sapere in email 😉
Ciao 🙂