Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio
DEEBOT T90 PRO OMNI abbina un sistema di aspirazione basato su tecnologia BLAST ad un rullo di lavaggio dei pavimenti dalla larghezza elevata, capace di trattare al meglio le superfici di casa minimizzando i tempi di lavoro. Un robot completo che riesce anche ad essere sottile e garantire automazione ed efficienza nelle operazioni di pulizia di casa
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo
Per diversi giorni il Galaxy S26 Ultra di Samsung è stato il nostro compagno di vita. Oltre alle conferme del colosso coreano come la qualità del display e una suite AI senza rivali, arriva il Privacy Display, un unicum nel mondo smartphone. Ci sono ancora alcuni gap che non sono riusciti a colmare lato batteria e fotocamera, seppur con alcuni miglioramenti.
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Diablo II Resurrected: il nuovo DLC Reign of the Warlock
Abbiamo provato per voi il nuovo DLC lanciato a sorpresa da Blizzard per Diablo II: Resurrected e quella che segue è una disamina dei nuovi contenuti che abbiamo avuto modo di sperimentare nel corso delle nostre sessioni di gioco, con particolare riguardo per la nuova classe dello Stregone
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: 6002
[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: 6002
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: 6002
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: 6002
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: 6002
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: 6002
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: 6002
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: 6002
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: 6002
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


Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
Diablo II Resurrected: il nuovo DLC Reign of the Warlock Diablo II Resurrected: il nuovo DLC Reign of the...
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
OMO X: la prima moto elettrica auto-bila...
NVIDIA sta fornendo circa il 20% in meno...
L'interfaccia Liquid Glass di Apple &egr...
Maserati diventa di Xiaomi? Le indiscrez...
Pragmata supera i 2 milioni di wishlist ...
Ultime ore per le Offerte di Primavera: ...
Bitcoin, 20 milioni di BTC minati: l'ind...
Microsoft ridimensiona Copilot su Window...
Ultime ore per le Offerte di Primavera: ...
FRITZ!Box 6825 4G: il router LTE che fun...
Abbiamo scoperto la gamma Ego Power+ 202...
Il telescopio spaziale James Webb ha per...
Sony WH-1000XM5 in forte sconto: le cuff...
In Europa i videogiochi con loot box avr...
Ultimo giorno di Offerte di Primavera: e...
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: 14:08.


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