Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-01-2009, 10:27   #1
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
[Visual C#] Visualizzare dati e connessione a MySQL

Ciao ragazzi.
Devo creare un programma che gestisca un certo processo industriale. Purtroppo non ho mai capito nulla di programmazione (all'università ho dato solo un esame di programmazione basato su C++....) e credo di essermi imbarcato in un lavoro più grande di me (la disperazione incalza...).
Ma tant'è che devo farlo, per cui ho iniziato da qualche settimana a leggere tutto ciòc he ho ricavato su Visual C#.
Ho creato l'interfaccia grafica con tutti i comandi che servono al mio scopo; ho iniziato ad associare vari eventi ad alcuni di questi comandi; purtroppo, però, non riesco a risolvere i 2 problemi del titolo.
Sono strasicuro che saranno due cavolate, ma per me sembrano impossibili.

1) Per inserire del testo, ho usato il controllo TextBox. Ma quale controllo devo usare per ottenere una casella che mi permetta di visualizzare del testo? Li ho provati tutti, ma non so come venirne a capo.

2) Poichè devo realizzare un'architettura di tipo centralizzato, per i test sto usando un pc desktop come postazione centrale, ed un notebook come postazione all'interno del processo industriale. Sul fisso ho installato e configurato MySQL, che gestisco con phpmyadmin. Tutto ok, ma non sono riuscito in nessun modo a far connettere il progetto winform presente sul notebook al database mysql installato sul pc desktop. Le ho provate tutte: ODBC, ADO.NET, tutte le guide trovate online, ma non ne vuol sentire di connettersi.

Help me
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:21   #2
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
1)Non ho ben capito, ti serve un controllo per testo statico?Ci sono le label. Oppure una casella da spuntare per far apparire o scomparire del testo?
2)Leggi qui
http://www.dreamincode.net/code/snippet1677.htm
Io mi connetto in locale, nel tuo caso credo basti mettere l'ip del fisso al posto di localhost.
Hai installato il connector?Altrimenti non ti trova la classe MysqlClient.

Edit: hai anche grantato i permessi dell'utente sul db?Io me ne scordo quasi sempre

Ultima modifica di carter100 : 04-01-2009 alle 11:25.
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:28   #3
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Quote:
Originariamente inviato da carter100 Guarda i messaggi
1)Non ho ben capito, ti serve un controllo per testo statico?Ci sono le label. Oppure una casella da spuntare per far apparire o scomparire del testo?
2)Leggi qui
http://www.dreamincode.net/code/snippet1677.htm
Io mi connetto in locale, nel tuo caso credo basti mettere l'ip del fisso al posto di localhost.
Hai installato il connector?Altrimenti non ti trova la classe MysqlClient.
Ciao. Grazie, intanto, per il tuo intervento.
Per il primo quesito, scusami ma ho forse scritto male
Allora, ti faccio un esempio.
A me serve che a video, in una casella, si visualizzi una serie di informazioni. Per esempio, se clicco su un bottone e deve partire un processo X, vorrei che a video venga visualizzato il risultato di quel processo X. Non so se ora ho reso l'idea

2) Ho inserito, nelle referenze, la MySl.Data; nel corpo, poi, ho anche inserito la using necessaria, using ql.Data.MySqlClient;. E' che ora non riesco a far funzionare nessuna delle stringhe trovate in internet per potermi connettere al database.
Ho provato anche in locale, ma non funziona manco a parlarne.
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:39   #4
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Ciao. Grazie, intanto, per il tuo intervento.
Per il primo quesito, scusami ma ho forse scritto male
Allora, ti faccio un esempio.
A me serve che a video, in una casella, si visualizzi una serie di informazioni. Per esempio, se clicco su un bottone e deve partire un processo X, vorrei che a video venga visualizzato il risultato di quel processo X. Non so se ora ho reso l'idea

2) Ho inserito, nelle referenze, la MySl.Data; nel corpo, poi, ho anche inserito la using necessaria, using ql.Data.MySqlClient;. E' che ora non riesco a far funzionare nessuna delle stringhe trovate in internet per potermi connettere al database.
Ho provato anche in locale, ma non funziona manco a parlarne.
1) Ok, dipende tutto dai risultati del processo. Cioè, se hai un elenco di risultati, puoi visualizzarli in una listview. Se sono risultati brevi (tipo "processo riuscito") li metti in una label o in una textbox (ci sono metodi per caricarci il testo, tipo setText() o molto simile, li dovresti aggiungere al termine dell'evento del click del bottone).
2)Forse fai prima a postare il codice, o almeno a dire l'errore che ti viene dato (se ti va in qualche catch stampa una printstacktrace per avere qualche info in +).

Edit: questa è la mia stringa di connessione:
Codice:
string conString = "database=test;server=localhost; " +
                  "port=3306;username=user;password=pass";
            MySqlConnection cn = new MySqlConnection(conString);
            cn.Open();
E' in locale, ma si connette.

Ultima modifica di carter100 : 04-01-2009 alle 11:41.
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:45   #5
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Quote:
Originariamente inviato da carter100 Guarda i messaggi
1) Ok, dipende tutto dai risultati del processo. Cioè, se hai un elenco di risultati, puoi visualizzarli in una listview. Se sono risultati brevi (tipo "processo riuscito") li metti in una label o in una textbox (ci sono metodi per caricarci il testo, tipo setText() o molto simile, li dovresti aggiungere al termine dell'evento del click del bottone).
Ok. Quindi, se per esempio, volessi visualizzare dei numeri ( su una riga singola, tipo che so 48, oppure 30, etc..) , dati da un processo, basta un textbox usando il comando setText() ?
Quote:
Originariamente inviato da carter100 Guarda i messaggi
2)Forse fai prima a postare il codice, o almeno a dire l'errore che ti viene dato (se ti va in qualche catch stampa una printstacktrace per avere qualche info in +).

Edit: questa è la mia stringa di connessione:
Codice:
string conString = "database=test;server=localhost; " +
                  "port=3306;username=user;password=pass";
            MySqlConnection cn = new MySqlConnection(conString);
            cn.Open();
E' in locale, ma si connette.
Il codice usato è questo:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace provaconnessionedb
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string MyConString = "SERVER=localhost;" +
                "DATABASE=geima;" +
                "UID=root;" +
                "PASSWORD=geima;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
         }
    }
}
Non mi da alcun errore, ma neanche si connette
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:53   #6
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Ok. Quindi, se per esempio, volessi visualizzare dei numeri ( su una riga singola, tipo che so 48, oppure 30, etc..) , dati da un processo, basta un textbox usando il comando setText() ?

Il codice usato è questo:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace provaconnessionedb
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string MyConString = "SERVER=localhost;" +
                "DATABASE=geima;" +
                "UID=root;" +
                "PASSWORD=geima;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
         }
    }
}
Non mi da alcun errore, ma neanche si connette
Mettici una connection.Open() e vedrai che va tutto bene.
Diventa così insomma:
Codice:
string MyConString = "SERVER=localhost;" +
                "DATABASE=test;" +
                "UID=user;" +
                "PASSWORD=pass;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            connection.Open();
Ad essere del tutto sincero, sono nuovo del C# e non conosco il createCommand che hai usato, ma di sicuro a me non è servito quando mi son connesso e comunque non ti apre la connessione in automatico. Poi mi vedo la doc per vedere che fa.

Per la prima domanda, basta una textbox (o una label se non vuoi che i dati siano toccati dall'utente). Credo che il metodo sia Text=valore e non setText(), ma insomma cambia poco.
Fai sapere se funziona (almeno in locale).
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 11:55   #7
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Il fatto è che a me servirebbe proprio una connessione automatica al database. Ovvero lancio l'applicazione, e lei si connette da sola al database, cosi da poterci lavorare sopra tramite altri comandi.

E' un bordello sto C#
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:06   #8
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Il fatto è che a me servirebbe proprio una connessione automatica al database. Ovvero lancio l'applicazione, e lei si connette da sola al database, cosi da poterci lavorare sopra tramite altri comandi.

E' un bordello sto C#
Puoi sempre mettere quel codice sotto l'initcomponent, cioè così:
Codice:
public Form1()
        {
            InitializeComponent();
            string MyConString = "SERVER=localhost;" +
                "DATABASE=test;" +
                "UID=user;" +
                "PASSWORD=pass;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            connection.Open();

        }
In pratica appena apri l'applicazione avviene la connessione iniziale al db, se devi lanciare comandi subito li aggiungi immediatamente dopo la Open, altrimenti se ti salvi l'oggetto connection come private, la connessione resta aperta, e quando clicchi su un bottone basta mandare la query al database saltando la parte di apertura di prima.
Non so se effettivamente ti risolve qualche problema o no
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:08   #9
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Ma, a prescindere dal metodo impiegato, non dovrebbe risultare il mio database in Origini Dati?
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:14   #10
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Allora, faccio il punto della situazione. Con questo codice:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace database
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string MyConString = "SERVER=localhost;" +
                "DATABASE=geima;" +
                "UID=root;" +
                "PASSWORD=geima;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            connection.Open();

        }
    }
}
pare che si sia connesso. Compilando, il firewallo mi ha segnalato la richiesta di connessione vchost, ed è comparsa la semplice schermata dell'applicazione.
In teoria, ora, dovrei essere connesso al database.
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:14   #11
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Ma, a prescindere dal metodo impiegato, non dovrebbe risultare il mio database in Origini Dati?
No aspetta, cosa è origini dati?Qualcosa del Visual C# dove vedi il db aperto?
Ascolta, non voglio farti perdere tempo dato che credo tu abbia i tempi stretti, ciò che sapevo te l'ho postato, ti posso garantire che se metti quel codice sotto l'init component per tutta la durata dell'applicazione la connessione è attiva e il db attende che tu mandi query sql (se non lo sai fare ti butto uno schizzo di codice, ma è molto semplice), per altro più avanzato temo usciamo dalle mie conoscenze, quindi sarebbe meglio attendere qualcuno più esperto. Spero di esserti stato almeno 1 minimo di aiuto, poi se ci son altre domande a cui posso dar risposta, oggi più o meno son sempre qui
Ciao, e buon lavoro
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:17   #12
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Allora, faccio il punto della situazione. Con questo codice:
Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace database
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            string MyConString = "SERVER=localhost;" +
                "DATABASE=geima;" +
                "UID=root;" +
                "PASSWORD=geima;";
            MySqlConnection connection = new MySqlConnection(MyConString);
            MySqlCommand command = connection.CreateCommand();
            connection.Open();

        }
    }
}
pare che si sia connesso. Compilando, il firewallo mi ha segnalato la richiesta di connessione vchost, ed è comparsa la semplice schermata dell'applicazione.
In teoria, ora, dovrei essere connesso al database.
Abbiam risposto insieme
Si, perfetto, così sei connesso. Se vuoi avere la prova del 9, prova a crearti un db di prova, caricaci una tabella con un solo intero come campo, mettici un numero e fai una select su quel db, se ottieni a schermo quel numero è ormai tutto a posto.
Comunque, come detto, con quel codice io sul mio db ho fatto diverse query e nessun problema, penso il problema sia risolto
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:17   #13
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Quote:
Originariamente inviato da carter100 Guarda i messaggi
No aspetta, cosa è origini dati?Qualcosa del Visual C# dove vedi il db aperto?
Ascolta, non voglio farti perdere tempo dato che credo tu abbia i tempi stretti, ciò che sapevo te l'ho postato, ti posso garantire che se metti quel codice sotto l'init component per tutta la durata dell'applicazione la connessione è attiva e il db attende che tu mandi query sql (se non lo sai fare ti butto uno schizzo di codice, ma è molto semplice), per altro più avanzato temo usciamo dalle mie conoscenze, quindi sarebbe meglio attendere qualcuno più esperto. Spero di esserti stato almeno 1 minimo di aiuto, poi se ci son altre domande a cui posso dar risposta, oggi più o meno son sempre qui
Ciao, e buon lavoro
Sei stato di grandissimo aiuto!
Origine dati è la procedura standard di visual c# dove ti elenca i database disponbili, o te ne fa inserire altri. In rete ho letto che, in teoria, dovrebbe comparire anche mysql fra i database disponibili, installando i drivers dedicati presi dal sito mysql. In realtà, però, non compare nulla che non sia sql server
Ora provo ad inserire qualche query sql, vediamo come va
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:19   #14
carter100
Senior Member
 
Iscritto dal: Jul 2007
Messaggi: 1159
Quote:
Originariamente inviato da melomanu Guarda i messaggi
Sei stato di grandissimo aiuto!
Origine dati è la procedura standard di visual c# dove ti elenca i database disponbili, o te ne fa inserire altri. In rete ho letto che, in teoria, dovrebbe comparire anche mysql fra i database disponibili, installando i drivers dedicati presi dal sito mysql. In realtà, però, non compare nulla che non sia sql server
Ora provo ad inserire qualche query sql, vediamo come va
Ah, ho capito, c'era una cosa simile anche con netbeans in Java, ad essere sincero di quelle cose non mi son mai fidato, non so da cosa dipenda il loro funzionamento, comunque prova una query e vai tranquillo
Bye
carter100 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 12:21   #15
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Quote:
Originariamente inviato da carter100 Guarda i messaggi
Ah, ho capito, c'era una cosa simile anche con netbeans in Java, ad essere sincero di quelle cose non mi son mai fidato, non so da cosa dipenda il loro funzionamento, comunque prova una query e vai tranquillo
Bye
Grazie ancora, vedrò di lavorarci a fondo
Terrò vivo il thread perchè temo che avrò parecchiob isogno di aiuto
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 09:22   #16
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Per fare quello che dici tu in maniera 'visuale' hai bisogno di un plugin per visual studio:

http://dev.mysql.com/doc/refman/5.0/...r-vstudio.html

Una volta installato questo plugin potrai gestire il tuo db in maniera visuale.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 15:45   #17
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6000
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
Per fare quello che dici tu in maniera 'visuale' hai bisogno di un plugin per visual studio:

http://dev.mysql.com/doc/refman/5.0/...r-vstudio.html

Una volta installato questo plugin potrai gestire il tuo db in maniera visuale.
Ciao.
Ti ringrazio, lo provo subito
melomanu è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Blue Origin annuncia una nuova versione ...
LG UltraFine evo 6K: il primo monitor al...
DJI cambia direzione: investe in Elegoo ...
Black Friday Narwal 2025: risparmi da ca...
Phishing evoluto contro Apple ID: caso f...
Prestazioni in discesa nei giochi? NVIDI...
Addio ai banner dei cookie? L'UE spinge ...
Le offerte Black Friday per gli smartpho...
Il controllo qualità degli iPhone...
Qualcomm Snapdragon X Elite vola con il ...
A2RL Season 2: storia, innovazione e sor...
Core Ultra Series 3: Intel conferma l'ev...
Black Friday Amazon: la GeForce RTX 5070...
EcoFlow, il Black Friday porta grande ri...
Gli sconti più pesanti del Black ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:55.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v