Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [VS2010 winform] come creare una connessione a un database.

    Salve a tutti.
    Ho un problema e volevo chiedere se qualcuno sa dirmi come posso risolverlo.
    Il progetto è diviso in due parti. La prima è un sito internet che collegandosi al database "prova" dentro easyphp inserisco dei dati tramite query in php. La seconda parte tratta di un programma in c# che si deve collegare al database "prova" dentro easyphp e inserire e visualizzare i record del database prova.
    La mia difficoltà sta nel creare la connessione che serve per leggere e scrivere nel database.
    In passato avevo già fatto una cosa simile solo che usava un database access solo che col sql è tutto diverso...

    Qualcuno sa aiutarmi?

    Grazie in anticipo

    Andrea

  2. #2
    Ma il collegamento del programma al database del sito avviene da remoto? O si trova tutto sulla stessa macchina?
    Chi non cerca trova.

  3. #3
    si trova tutto sulla stessa macchina... tanto per capirci quando uso php per collegarmi al database faccio così:

    $link = mysql_connect("localhost", "root", "");

    $db_selected = mysql_select_db("prova");

    io dovrei fare la stessa cosa col c#. Il database, il sito e il programma c# si trovano nella stessa macchina.

    Sai un qualche modo per risolvere il problema?

  4. #4
    Per collegarti al database devi aprire una connessione utilizzando la connection string prevista per quel database (che se non ho capito male dovrebbe essere mysql). Qui trovi le connection string più comuni per mysql: http://www.connectionstrings.com/mysql

    Il framework .net non ha, tra le sue librerie, delle classi specifiche per mysql. Puoi collegarti via ODBC o, meglio ancora, con il connettore fornito dal produttore del database: http://www.mysql.it/downloads/connector/net/

    Su come aprire la connessione e leggere/scrivere i dati ti consiglio di fare una ricerca nel forum oppure in internet, di esempi ne trovi a migliaia.
    Chi non cerca trova.

  5. #5
    Dopo vari tentativi richiedo il vostro aiuto.
    prima voglio ricapitolare alcune cose.
    Ho installato easyphp dove nalla certella "C:\Program Files\EasyPHP-5.3.6.0\mysql\data\prova" contego il database con le tabelle utente e cliente messe in questo modo: cliente.frm cliente.MYD cliente.MYI poi utente.frm utente.MYD utente.MYI e infine il file db.opt
    poi nella cartella "C:\Program Files\EasyPHP-5.3.6.0\www" c'è il mio sito che si collega al database prova con le righe di codice scritte nella risposta prima e fino a qua tutto funziona.
    Il problema inizia col c# che con vari tentativi nn riesco a creare la connessione a quel database dove all'interno del form del programma è presente una datagridview nella quale devono venire rappresentati tutti i dati. Sapete aiutarmi nel creare la connessione e scrivere i dati nella datagridview?
    Grazie in anticipo...

    ANDREA

  6. #6
    Nessuno sai aiutarmi?
    la depressione mi sta colpendo

  7. #7
    Posta il codice che hai scritto, magari qualcuno è in grado di dirti qualcosa...
    Chi non cerca trova.

  8. #8
    Ecco il codice. Ho trovato un esempio di codice, solo che usa i comandi sql.
    codice:
    string q = "QUERY";
                string connectionString = "Data Source=172.0.0.1;Initial Catalog=prova;User Id=root;Password=;";
                SqlConnection cn = new SqlConnection(connectionString);
                SqlCommand cm = new SqlCommand(q, cn);
                SqlDataReader dr;
                DataTable dt = new DataTable();
                cm.CommandType = CommandType.Text;
                try
                {
                    cm.Connection.Open();                
                    dr = cm.ExecuteReader();
                    if (dr.HasRows)
                        dt.Load(dr);
                    dataGridView1.DataSource = dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
    esce un errore di collegamento al server. Sapete come aiutarmi?

  9. #9
    Quell'esempio funziona solo con SQL Server, mentre per MySql devi usare il provider giusto (il link te l'ho già dato sopra) e una corretta connection string.
    Ecco un altro link utile, tra i tanti che si trovano facilmente su internet:
    http://www.suite101.com/content/how-...with-c-a115001
    Chi non cerca trova.

  10. #10
    grazie al tuo esempio riesco a collegarmi al database!
    il codice che uso è questo:
    codice:
     private MySqlConnection connection = new MySqlConnection();
     private MySqlDataAdapter data = new MySqlDataAdapter();
     DataGrid gridInfo = new DataGrid();
    
            private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
            {
                  connection.ConnectionString = "server=localhost;" + "database=prova;"        
     "uid=root;" + "password=;";
                    connection.Open();
                    MySqlCommand command = connection.CreateCommand();
                    command.CommandText = "select * from cliente";
                    command.ExecuteNonQuery();
                    data.SelectCommand = command;
                    DataSet dataset = new DataSet();
                    data.Fill(dataset, "users");
                    gridInfo.DataSource = dataset;
                    gridInfo.DataMember = "users";
                    gridInfo.Dock = DockStyle.Fill;
                    dataGridView1.Controls.Add(gridInfo);
                    connection.Close();
    }
    funziona ma c'è un piccolo problema, in questo modo aggiungo il datagrid nella datagridview1, ma io vorrei associare il contenuto, spiegandomi meglio verrei che nella datagridview1 si creassero le righe e le colonne del database e si compilassero e quindi riusce ad utilizzare gli eventi del datagridview1...
    Mi sono spiegato? (anche se la spiegazione è un po contorta)
    Utilizzando invece questo altro modo,si creano le righe della tabella solo che sono vuote...
    codice:
     connection.ConnectionString = "server=localhost;" + "database=ristorante;" + "uid=root;" + "password=;";
                    connection.Open();
                    MySqlCommand command = connection.CreateCommand();
                    command.CommandText = "select * from cliente";
                    command.ExecuteNonQuery();
                    data.SelectCommand = command;
                    DataSet dataset = new DataSet();
                    data.Fill(dataset, "users");
                    
                    dataGridView1.AutoGenerateColumns = false;
                    dataGridView1.DataSource = dataset;
                    dataGridView1.DataMember = "users";
    sapete il prechè?
    Grazie mille.
    Andrea

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.