Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

[VB.NET] Gestione di un database MySql remoto (Tutorial)
(Questo messaggio è stato modificato l'ultima volta il: 10/08/2014, 18:32 da Admin.)

Amministratore
Messaggi: 2,334
Discussioni: 231
Registrato: 03-2011
Mix: 2,570.8
In questa guida vi spiego come sviluppare un software per la gestione di un database MySql remoto col Visual Basic.NET.

Requisiti:
  • Impegno e basi solide del vb.net e del MySql;
  • Visual Basic 2008/2010 (con framework 4 ovviamente);
  • Driver della connettività MySql (

    [Per vedere i link devi REGISTRARTI.]

    )

[Per vedere i link devi REGISTRARTI.]

  1. Sistema di Login al database MySql
  2. Sistema di gestione del database MySql
  3. [Per vedere i link devi REGISTRARTI.]


[Per vedere i link devi REGISTRARTI.]

[Per vedere i link devi REGISTRARTI.]

Form1.vb [Progettazione]
Un database sicuro avrà delle credenziali di accesso, quindi il nostro programma prima di farci gestire un database, ci deve far identificare.
Appena lo apriamo, niente è visibile tranne che un form per effettuare il login.
Quindi cominciamo a fare i disegnini, apriamo VB.net e creiamo un nuovo "Applicazione Windows Form".
Mettiamo 4 textbox e un bottone sul Form1.
La prima textbox riceverà l'indirizzo del server, a seguire il nome del database, nome utente e password.
Il bottone ovviamente ci consentirà di ottenere una risposta, in base all'indirizzo del server, se le credenziali sono valide, ci si apriranno le porte verso la gestione del database.
Sconsiglio VIVAMENTE di creare un login già contenuto nel codice del programma, poichè basta una piccola spiata del programma con software per il reversing per scoprire le vostre credenziali.
Se seguirete questa guida, problemi password a rischio sono pressochè nulle, poi vi spiego perchè.
Per far sì che vb.net riconosca le classi della libreria del MySql, dobbiamo aggiungere il riferimento MySql.data.dll, quello che abbiamo scaricato sul sito del MySql appunto.
Quindi "Progetto > Aggiungi riferimento... > Sfoglia", dovete andare nella directory in cui avete installato il driver, nella cartella ./MySql/MySql Connector Net 5../Binaries eccetera troverete il file MySql.data.dll.

[Immagine: form1.png]

[Per vedere i link devi REGISTRARTI.]

[Per vedere i link devi REGISTRARTI.]

Finito il dipinto ad olio su tela, passiamo al codice. Happywide
Se abbiamo aggiunto quel riferimento, dobbiamo importarlo nel form che ne fa uso, quindi siccome nel login useremo determinate classi contenuto in quella libreria, importiamola!

    VBNET Programming
  1. Imports MySql.Data.MySqlClient



Ora pensiamo al codice inerente il login.
Creiamo la classe "connessione", all'interno del Public Class Form1

    VBNET Programming
  1. Public Class Form1
  2. 'Queste variabili conterranno ciascuna il contenuto della textbox associata
  3. Public server, dbname, user, password As String
  4.  
  5. Public Sub connessione()
  6. server = TextBox1.Text
  7. dbname = TextBox2.Text
  8. user = TextBox3.Text
  9. password = TextBox4.Text
  10. Try 'Con il Try possiamo intercettare errori
  11. 'Str_Co conterrà la stringa standard per la connessione al MySql, le variabili
  12. 'richiamano il contenuto della textbox
  13. Dim Str_Co As String = "host=" & server & ";" & _
  14. "database=" & dbname & ";" & _
  15. "user=" & user & ";" & _
  16. "password=" & password
  17.  
  18. Dim connessione As MySqlConnection = New MySqlConnection(Str_Co)
  19. connessione.Open() 'Apriamo la connessione
  20. Button1.Text = "Connetti" 'Cliccando "Connetti" il bottone mostrerà "Attendi" fino a quando
  21. 'ci sarà una risposta
  22. Form2.Show()
  23. connessione.Close() 'Chiudiamo la connessione, di già? Perchè? Ve lo spiego dopo
  24. connessione.Dispose() 'Puliamo la ram dagli elementi salvati per effettuare la connessione
  25. Catch errore As MySqlException 'Catturiamo eventuali errori che il MySql ci fornirà
  26. Button1.Text = "Connetti" 'ignoratelo per ora
  27. Button1.Enabled = True 'ignoratelo per ora
  28. MsgBox("Impossibile connettersi al database!" & vbCr &
  29. "Messaggio d'errore: " & vbCr + errore.Message, vbCritical, "Errore!") 'e li mostriamo con una MsgBox
  30. End Try
  31. End Sub



Ma come, mi sono fatto il mazzo per riuscire a connettermi al database, che già il "connessione.Close()" mi chiude la connessione?
E io vi aggiungo che oltre a chiuderla, la linea di codice successiva vi cancella pure i dati in ram delle credenziali che avete immesso nella textbox!
Questo perchè ogni operazione che faremo, connessione, lettura tabelle, immissione query, richiede una autenticazione, e dopo l'azione effettuata una disconnessione. Noi in questa classe, stabiliamo la connessione solo per identificarci.
Ovviamente col programma, facciamo in modo che una volta inseriti i dati del login, questi vengano usati per ogni azione che necessita di una connessione al db (mi pare ovvio).

Il codice del bottone per connettersi sarà semplicissimo.

    VBNET Programming
  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  2. Handles Button1.Click
  3.  
  4. Button1.Text = "Attendere"
  5. 'La prossima linea la ritengo molto importante, una volta cliccato, il 'bottone sarà disabilitato, per
  6. 'evitare di creare inutilmente un ulteriore caricamento da parte del 'database. Ecco perchè alla
  7. 'fine della classe "connessione" dentro il "Catch errore..." il bottone verrà 'riabilitato, così possiamo
  8. 'ritentare il login senza riaprire il programma.
  9.  
  10. Button1.Enabled = False
  11. connessione()
  12. Button1.Enabled = True 'Riattiviamo il bottone, sennò se chiuderemo il Form2, il bottone
  13. ' rimarrà disabilitato
  14. End Sub



[Per vedere i link devi REGISTRARTI.]

[Per vedere i link devi REGISTRARTI.]

Form2.vb [Progettazione]
Come già detto, il Form2 che conterrà la gestione del db, si aprirà solo a identificazione avvenuta.
Da questo form, potremo vedere la struttura e il contenuto di qualsiasi tabella presente nel db, che selezioneremo dalla ComboBox.
Il tutto verrà mostrata nel DataGridView.
Il bottone Aggiorna, aggiornerà appunto le tabelle e quindi il contenuto di queste.
Il bottone disconnetti, ci consentirà di chiudere la connessione, chiudere il Form2 e far riapparire il Form1 così da poter effettuare la connessione su un altro database.
La RichTextBox ci permette di eseguire qualsiasi tipo di query, che invieremo dal bottone "Invia", mentre il bottone "X" pulisce il contenuto della RichTextBox.
Che farà la StatusStrip? Ho avuto quest'idea per dare un tocco di professionalità al programma. Ogni azione che svolgeremo sarà accompagnata da questa barra, che ci comunica l'ultima l'operazione svolta e se è stata effettuata correttamente o meno.
Riprendiamo la nostra vena artistica e facciamo un bel "disegno".

Ricapitoliamo:
  • 4 bottoni;
  • 1 StatusStrip;
  • 1 ComboBox;
  • 1 DataGridView;
  • 1 RichTextbox;


Io da amante della semplicità ho fatto una cosa del genere.

[Immagine: immagine2xl.png]

La label che vedete in alto a sinistra non ha alcuna funzionalità se non quella di mostrare del testo.

[Per vedere i link devi REGISTRARTI.]

[Per vedere i link devi REGISTRARTI.]

Il codice del Form2 sarà più complesso.
Per non ripetere sempre la funzione che svolge la classe "connessione" faremo uso di 2 flag (aprirò un nuovo topic per spiegare cosa sono) differenti per intercettare degli eventi.
Perchè? Siccome quasi ogni funzione del programma necessita di una connessione al database scelto al momento del login, io voglio fare in modo che queste funzioni sfruttino sempre la stessa classe "connessione".
Se la flag avrà un determinato valore (che può essere o vero o falso) allora "connessione" mi svolgerà una determinata funzione, oltre a quella di connettersi al db.
"Connessione" quindi, attraverso la funzione If, svolgerà solo quelle funzioni che hanno la flag su vero, altrimenti passeranno alla funzione successiva.

Non deve mancare, come per il Form1, la stringa per importare la libreria del MySql, e aggiungere quindi lo stesso riferimento aggiunto per il Form1.
Dichiariamo in Public Class del Form2 le due flag, la variabile cmd come MySqlCommand e di nuovo la stringa per connetterci, che sfrutteremo per tutte le volte che è necessario stabilire una connessione, per qualsivoglia azione (come ad esempio leggere le tabelle, eseguire una query ecc).

    VBNET Programming
  1. Dim RichFlag As Boolean = False
  2. Dim ComboFlag As Boolean = False
  3. Dim cmd As New MySqlCommand()
  4. Dim Str_Co As String = "host=" & Form1.server & ";" & _
  5. "database=" & Form1.dbname & ";" & _
  6. "user=" & Form1.user & ";" & _
  7. "password=" & Form1.password



Apriamo ora la classe "connessione": Public Sub connessione()
In questa classe, dobbiamo fare un'altra serie di dichiarazioni.
    VBNET Programming
  1. Dim connessione As MySqlConnection = New MySqlConnection(Str_Co)


Per richiamare la stringa con le credenziali per l'identificazione, a seguire:

    VBNET Programming
  1. Public Sub connessione()
  2. Dim adapter As MySqlDataAdapter 'MySqlDataAdapter è una classe contenuta nel riferimento
  3. 'aggiunto, alla fine del codice vi spiego meglio
  4. Dim table As DataTable 'Sarà la struttura della tabella selezionata che più avanti
  5. 'visualizzeremo nel DataGrid
  6. Dim query As String
  7.  
  8. connessione.Open() 'apriamo la connessione
  9. cmd.Connection = connessione 'sarebbe MySqlCommand.Connection
  10.  
  11. 'Se la condizione dell'if si verifica, con questo codice visualizzeremo nel datagrid
  12. 'la struttura della tabella selezionata nella combobox
  13. If ComboFlag = True Then 'se ComboFlag è True eseguirà quella sfilza di codice
  14. Try
  15. 'ComboBox1.SelectedItem assume il nome della tabella selezionata
  16. 'mostreremo quindi la tabella eseguendo una query MySql
  17. query = "SELECT * FROM " & ComboBox1.SelectedItem
  18. 'alla fine del codice vi spiego le prossime 4 linee
  19. adapter = New MySqlDataAdapter(query, Str_Co)
  20. table = New DataTable
  21. adapter.Fill(table)
  22. DataGridView1.DataSource = table
  23. Catch errore As MySqlException 'se ci sono errori li mostrerà sia sulla StatusStrip
  24. 'che come MsgBox
  25. ToolStripStatusLabel2.Text = TimeOfDay & " - Errore nel selezionare la tabella."
  26. MsgBox("Messaggio d'errore:" & vbCr + errore.Message, vbCritical, "Errore!")
  27. Finally 'concludiamo con la disconnessione dal db e la rimozione dei dati
  28. connessione.Close()
  29. connessione.Dispose()
  30. End Try
  31. MostraTables() 'Classe che mostra/aggiorna le tabelle visualizzate nella combobox,
  32. 'dopo vedrete il codice
  33. End If
  34.  
  35. 'Se la condizione dell'if si verifica, con questo codice visualizzeremo eseguiremo
  36. 'la query immessa nel RichTextBox
  37. If RichFlag = True Then
  38. Try
  39. 'MySqlCommand.CommandText ovvero faccio capire a vb.net che sto per comunicargli
  40. 'un comando MySql, che potrà estrapolarlo dalla RichTextBox1
  41. cmd.CommandText = RichTextBox1.Text.Trim
  42. cmd.ExecuteNonQuery()
  43. 'una volta eseguita la query, sarebbe istintivo cliccare "Aggiorna" per vedere i cambiamenti
  44. 'quindi possiamo fare in modo che si aggiorna automaticamente appena la query è stata eseguita
  45. ComboBox1.Items.Clear()
  46. MostraTables() 'poi spiego
  47. ToolStripStatusLabel2.Text = TimeOfDay & " - Query eseguita correttamente."
  48. RichTextBox1.Clear() 'se la query è stata eseguita, la RichTextBox si ripulirà
  49. Catch errore As Exception
  50. ToolStripStatusLabel2.Text = TimeOfDay & " - Esecuzione query fallita."
  51. MsgBox("Messaggio d'errore:" & vbCr + errore.Message, vbCritical, "Errore!")
  52. Finally
  53. connessione.Close()
  54. connessione.Dispose()
  55. RichFlag = False 'le flags vengono reimpostate su False in caso l'operazione si ripete
  56. ComboFlag = False
  57. End Try
  58. End If
  59. End Sub



Armatevi di pazienza e concentrazione, perchè quello che sto per spiegarvi è un pochino ostico. (Linea 19 dell'ultimo codice)

adapter = New MySqlDataAdapter(query, Str_Co)
table = New DataTable
adapter.Fill(table)
DataGridView1.DataSource = table

MySqlDataAdapter, in base alla query, in questo caso interpreta la struttura della tabella, facendo in modo che il DataGrid successivamente riconosca la struttura da poter visualizzare.
DataTable sarà una tabella virtuale, memorizzata ma non visualizzata. Serve solo per permettere al programma di crearsi una mappa della struttura e contenuto della tabella.
adapter ha assunto il contenuto di query, quindi la query, che mostra il contenuto della tabella, permette al DataTable di essere riempito con la struttura della tabella ( "adapter.fill(table)" ).
DataGridView1.DataSource = table visualizzerà quindi la struttura e il contenuto della tabella selezionata dalla combobox.

Per quanto riguarda MostraTables, come già detto, è una classe che vi mostra o aggiorna le tabelle visualizzate dalla combobox.
Questo è il codice.

    VBNET Programming
  1. Private Sub MostraTables()
  2. Dim connessione As MySqlConnection = New MySqlConnection(Str_Co)
  3. connessione.Open()
  4. 'per mostrare le tabelle nella combobox, la query mysql è semplicemente questa
  5. cmd.CommandText = "SHOW TABLES"
  6. cmd.Connection = connessione
  7.  
  8. Try
  9. 'le prossime linee di codice ve le spiego dopo
  10. Dim DataReader As MySqlDataReader = cmd.ExecuteReader
  11. While DataReader.Read() 'si apre un ciclo
  12. ComboBox1.Items.Add(DataReader(0))
  13. End While 'finisce il ciclo
  14. DataReader.Close()
  15. Catch ex As Exception
  16. MessageBox.Show(ex.Message & Environment.NewLine & ex.StackTrace)
  17. Finally
  18. connessione.Close()
  19. connessione.Dispose()
  20. End Try
  21. End Sub



Dim DataReader As MySqlDataReader = cmd.ExecuteReader
While DataReader.Read()
ComboBox1.Items.Add(DataReader(0))
DataReader.Close()

DataReader è una variabile, che andrà a "leggere" i nomi di tutte le tabelle presenti nel database.
Ci avvaliamo della classe MySqlDataReader.
Il ciclo aggiungerà in successione nella combobox le tabelle del database, partendo dall'elemento 0 (il primo) finchè non ne trova più.

Il grosso è stato fatto, ora non ci resta che richiamare la classe "connessione", in base alla funzione richiesta.
Per esempio, se clicchiamo su una tabella nella combobox, il datagrid ci deve mostrare la struttura e il contenuto della tabella.
Per fare ciò bastano 4 linee di codice.
    VBNET Programming
  1. Private Sub Combobox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
  2. Handles ComboBox1.SelectedIndexChanged
  3. 'settando la ComboFlag = True, la classe "connessione" eseguirà solamente il contenuto del primo If
  4. ComboFlag = True
  5. connessione()
  6. ToolStripStatusLabel2.Text = TimeOfDay & " - Tabella " & ComboBox1.SelectedItem & " selezionata."
  7. End Sub



Se invece vogliamo che il bottone "Invia" esegua una query inserita nella RichTextBox, allora:
    VBNET Programming
  1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  2. Handles Button2.Click
  3. 'settando RichFlag = True, la classe "connessione" eseguirà solamente il contenuto del secondo If
  4. RichFlag = True
  5. connessione()
  6. End Sub



Cliccando il tasto "Aggiorna", il programma dovrebbe caricare di nuovo le tabelle, prima di fare ciò, ripuliamo la ComboBox se non volete vedere le vostre tabelle duplicate!
    VBNET Programming
  1. Private Sub btnAggiorna_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
  2. Handles btnAggiorna.Click
  3. ComboBox1.Items.Clear()
  4. MostraTables()
  5. ToolStripStatusLabel2.Text = TimeOfDay & " - Tabelle aggiornate."
  6. End Sub



Dove c'è scritto ToolStripStatusLabel etc, modificherete il label della StatusBar, io ho voluto fare così per rendere più chiaro l'uso del programma all'utente finale.
Senza la StatusStrip, l'utente finale non saprebbe ad esempio se una query è stata eseguita o no. Potrete mettere delle MessageBox se non vi piace la StatusStrip, ma con le MsgBox prima o poi vi annoierete a cliccare sempre su ok per chiuderle.
Il codice che ho inserito, non è il 100% del codice del programma, sicuramente è la parte più importante. Questo per evitare che qualche utente che non ha nemmeno le basi, non riuscirebbe a farlo funzionare col copia incolla, sarebbe inutile!


[Per vedere i link devi REGISTRARTI.]

[Per vedere i link devi REGISTRARTI.]

A molti sicuramente non piacerà l'idea, ma a certi come me, sicuramente affascina il fatto di creare un software per entrare in un database remoto, in modo sicuro, e leggerne e modificarne il contenuto.
Per modificarne il contenuto, usando questo software, bisogna per forza conoscere i comandi MySql in modo approfondito, visto che bisogna inserire query intere. Ma se vi volete sfiziare, potete usare questo programma, e ampliarlo, in modo di fare ad esempio oltre all'inserimento manuale della query, anche una procedura guidata!
Per testare il funzionamento del programma, potete creare un database MySql in locale, oppure se non ne avete uno remoto, potete crearne gratuitamente uno dal sito db4free.net
Se volete scaricare il software completato, che ho fatto io, scaricate l'allegato.

.zip   Database.zip (Dimensione: 2.81 MB / Download: 18)

Devo dire che una volta completato, mi sono sentito molto soddisfatto! Happywide
E spero che vi piacerà anche a voi!


[Per vedere i link devi REGISTRARTI.]

Prima di aprire ogni contenuto scaricato su siti esterni ad HackMix, scansionatelo su VirusTotal.
18/08/2011, 18:06
#1
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
Io tempo fa feci qualcosa del genere ma in c#.
In poche parole, siccome gestivo un bel po di ESN gold 3day di warrock allora mi saltò in mente di salvarli su un database sql e creare una GUI in c# che mi permettesse di interfacciarmi al db e di interagire con esso...Ci lavorai un bel pò rilasciando 3 versioni (rilasciando a me, non pubblicamente Asd).
Ecco un screen:
[Immagine: 16341941.png]


18/08/2011, 18:41
#2
Cerca

Iscritto
Messaggi: 63
Discussioni: 6
Registrato: 04-2011
Mix: 0
bell'idea questa di creare una buona guida, anche perchè sul mysql si basano quasi tutti i database.
Credo che mi cimenterò nel realizzare qualcosa del genere anche se non sta cosa tipo navicat xD

Bel lavoro davvero.

Sky ma perchè, un bel blocco note non è più facile da gestire? xD

18/08/2011, 23:13
#3
Cerca

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(18/08/2011, 23:13)Luca360 Ha scritto:

[Per vedere i link devi REGISTRARTI.]

bell'idea questa di creare una buona guida, anche perchè sul mysql si basano quasi tutti i database.
Credo che mi cimenterò nel realizzare qualcosa del genere anche se non sta cosa tipo navicat xD

Bel lavoro davvero.

Sky ma perchè, un bel blocco note non è più facile da gestire? xD

No qui è + bello, mi segna in verde gli esn non usati e in rosso quelli usati

Però tutto sommato, vale la pena perdere 10 secondi per scrivere su notepad "usato" che le 2 settimane di lavoro che ho impiegato Asd

18/08/2011, 23:27
#4
Cerca

Amministratore
Messaggi: 2,334
Discussioni: 231
Registrato: 03-2011
Mix: 2,570.8
Ottima osservazione Luca!
Se dovessi usare un database diverso da mysql, forse userei access, ma solo per cose in locale.
Mysql come per uso remoto, è ugualmente valido anche in locale!


[Per vedere i link devi REGISTRARTI.]

Prima di aprire ogni contenuto scaricato su siti esterni ad HackMix, scansionatelo su VirusTotal.
18/08/2011, 23:39
#5
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
aggiungo solo una "constatazione amichevole"
per chi volesse cominciare a capire come lavorare con i database in vb.net cosiglio di usare access ma solo perchè è tutto molto piu facile, immediato e intuitivo finchè si impara.
Dopo di che mySql è sicuramente un'ottima soluzione di database locale o remoto che sia
Smile



digger
19/08/2011, 16:00
#6
Cerca

Iscritto
Messaggi: 1
Discussioni: 0
Registrato: 04-2012
Mix: 0
Il link di MU non funziona più...

20/04/2012, 17:29
#7
Cerca

Iscritto
Messaggi: 16
Discussioni: 0
Registrato: 09-2012
Mix: 0
Scusatemi per l'up, comunque io ho seguito tutta la guida ma mi sono accorto che mancano alcune cose: come faccio a dire al pulsante invia di far eseguire la query scritta nell RichTextbox? Grazie in anticipo e ottima guida, complimenti!

21/09/2012, 22:03
#8
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Scusa sky ma quel coso ti dava premium gratis????
Scusa ma non ne so niente impazienza, aspetta un ritorno di admin/skyline

21/09/2012, 23:45
#9
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 22/09/2012, 0:16 da digger.)

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
impazienza, non ho scritto io il codice e non l'ho provato, ma da quello che leggo quando premi il pulsante invia setti la variabile RichFlag=True e chiami la funzione "Connessione" nella quale controlla che la variabile appunto sia a true e quindi esegue la chiamata della query utilizzando come stringa sql il contenuto della richtextbox, lo vedi in queste righe:
    VBNET Programming
  1. If RichFlag = True Then
  2. Try
  3. 'MySqlCommand.CommandText ovvero faccio capire a vb.net che sto per comunicargli
  4. 'un comando MySql, che potrà estrapolarlo dalla RichTextBox1
  5. cmd.CommandText = RichTextBox1.Text.Trim
  6. cmd.ExecuteNonQuery()




digger
22/09/2012, 0:15
#10
Cerca

Banned
Messaggi: 30
Discussioni: 0
Registrato: 09-2012
Mix: 0
Bella Happywide

22/09/2012, 16:35
#11
Cerca

Iscritto
Messaggi: 16
Discussioni: 0
Registrato: 09-2012
Mix: 0
(22/09/2012, 0:15)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

impazienza, non ho scritto io il codice e non l'ho provato, ma da quello che leggo quando premi il pulsante invia setti la variabile RichFlag=True e chiami la funzione "Connessione" nella quale controlla che la variabile appunto sia a true e quindi esegue la chiamata della query utilizzando come stringa sql il contenuto della richtextbox, lo vedi in queste righe:
    VBNET Programming
  1. If RichFlag = True Then
  2. Try
  3. 'MySqlCommand.CommandText ovvero faccio capire a vb.net che sto per comunicargli
  4. 'un comando MySql, che potrà estrapolarlo dalla RichTextBox1
  5. cmd.CommandText = RichTextBox1.Text.Trim
  6. cmd.ExecuteNonQuery()


Grazie, adesso provo e ti faccio sapere Smile

22/09/2012, 19:00
#12
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Cosa ci fai con questi codici impazienza Smile ?

22/09/2012, 22:59
#13
Cerca
(Questo messaggio è stato modificato l'ultima volta il: 16/12/2012, 20:10 da digger.)

Iscritto
Messaggi: 30
Discussioni: 0
Registrato: 12-2012
Mix: 0
Grandi, veramente quello che mi serviva inoltre mi ha fatto capire realmente come funziona la connessione sql.

GRAZIE

(18/08/2011, 18:06)Admin Ha scritto:

[Per vedere i link devi REGISTRARTI.]

...

Digger dice:
è bello vedere che sei attivo sul forum, però cerca di evitare i MEGA-QUOTE, soprattutto quando non servono Wink

16/12/2012, 19:46
#14
Cerca

Iscritto
Messaggi: 30
Discussioni: 1
Registrato: 08-2011
Mix: 0
Bella guida, spero mi sia utile Wink

14/07/2013, 11:22
#15
Cerca




Utenti che stanno guardando questa discussione: 1 Ospite(i)