Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    14

    collegamento del mio programma con un database

    Buongiorno a tutti,
    sono uno studente di Ingegneria e informatica e, non avendo niente da fare quest'estate, ho deciso di scrivere un programmino in c++ (con il Dev C++) per la gestione di un'ipotetica azienda. Il mio problema sorge quando voglio creare un pulsante assegnandogli la funzione di ricerca per nome ad esempio all'interno di un database fatto da me con EasyPHP in mysql. Vi premetto che non so assolutamente da dove partire, quindi ogni consiglio è ben accetto.
    A voi "sciacalli" della programmazione

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    14
    quando provo a scaricare l'aggiornamento mysql come c'è scritto nella pagina ke mi hai postato mi dice
    Error:
    The following files were not downloaded due to errors..e l'indirizzo dei file..sai dove posso trovare la libreria mysql o come rimediare a qst problema sul dev?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    14
    libreria installata ,e adesso??????
    sai darmi qualche indirizzo o nozione sul come iniziare?????
    ah dimenticavo, siccome è un gestionale il database si trova già nella macchina ke sta utilizzando il programma

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    prova questo programmino che ti collega ad un database mysql
    codice:
    #include <mysql.h>
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    int main() {
    
    	MYSQL _mysql;
    
    	mysql_init( &_mysql );
    
    	string host = "localhost";
    	string user = "root";
    	string password = "";
    	string db = "" ;
    
    	bool connected ;
    
    	MYSQL *my = mysql_real_connect( &_mysql, host.c_str(), user.c_str(),password.c_str(),db.c_str(),0,0,0);
    
    	if (my) connected = true;
    	else {
    		connected = false;
            	string exc = "Errore di connessione a mysql : " + string( mysql_error( &_mysql ) ) + string( "\n" );
    		throw exc ;
    	}
    
    	mysql_close ( & _mysql );
    
    	return (0);
    
    }
    ciao
    sergio

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    14
    ciao sergio,
    grazie per l'interessamento mostrto e per il tempo dedicatomi.
    Ho sistemato un pò il codice ke mi hai postato, e adesso mi ritrovo allo stesso punto di un altro codice ke avevo trovato. Il my problema è ke una volta scritto tutto è lanciato il file sorgente il controllo per vedere se la connessione è stata correttemente effettuata mi dice errore. Questo deriva dal mio principale problema..io uso per la creazione di un database EasyPHP, una volta che creo un database usando mysql esso mi ritorna 3 tipi di file:
    ad esempio se il mio database si chiama azienda e inserisco una tabella clienti, mi crea clienti.frm, clienti.MYI, e clienti.MYD oltre al file db.opt. Quale dei 4 file devo inserire per la connessione nella stringa db del mio programma?????????????????????????????

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    la parte di codice che ti ho postato si riferisce solo alla connessione con il database.
    I parametri che devi inserire sono
    host="localhost"
    user= quello che hai scelto quanto hai creato il database
    password=quella che hai scelto quanto hai creato il database
    db="azienda"

    Per collegarti a una tabella devi effettuare una query, per esempio

    "select * from clienti" estrae tutti i record dalla tabella clienti

    un esempio di chiamata di una query è
    codice:
            string query = "select * from clienti";	// la tua query
    
    	int fRecord ;
    
    	bool fIsOpen ;
    
            int current_record ;
    
           MYSQL_ROW _row ;
            MYSQL_RES * _res;
    
            int rst = mysql_query(mysql, query.c_str());
    
            if (rst != 0) {
    
    		string exc = "Errore chiamata mysql_query : " + string ( mysql_error(mysql) ) + "\n";
    		throw exc ;
    
            }
            else {
    
                    _res = mysql_store_result(mysql);
    
                    if (_res) {  // ci sono record
    
                            // int num_fields = mysql_num_fields(_res);
                            // ricupera le righe poi chiam mysql_free_result( _res )
                            _row = mysql_fetch_row(_res);
    
                            current_record = 0;
                            fRecord = mysql_num_rows(_res);
    
                            fIsOpen = true;
                    }
                    else  { // mysql_store_result() ha ritornato zero, avrebbe dovuto?
                            if(mysql_field_count(mysql) == 0) {
                                    // query non ritorna data, non era un SELECT
                                fRecord = mysql_affected_rows(mysql);
                                fIsOpen = false;
                            }
                            else { // mysql_store_result() avrebbe dovuto ritornare qualche dato
    				string exc = "Errore chiamata mysql_store_result : " + string ( mysql_error(mysql) ) + "\n";
    				throw exc ;
    				fIsOpen = false;
                            }
                    }
    
            }

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    14
    si fino a qui ci siamo ma non era la risposta alla mia domanda. Allora ricapitolando:
    - uso dev-c++
    - creo un nuovo progetto console application
    - creo un nuovo database azienda con EasyPHP salvandolo in C:\Programmi\EasyPHP5.2.10\mysql\data\
    - qualsiasi cosa metto nella stringa( o il solo nome del db o tutto il percorso o qualsiasi altra cosa mi da sempre errore nella connessione al db)

    vorrei sapere o dove salvare il my db o cosa mettere nella stringa db o se devo impostare qualcosa nella creazione del db con EasyPHP...

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    per collegarti ad un database mysql devi fornire le seguenti informazioni
    host, user, password, database
    Se per esempio lo fai da console devi scrivere
    codice:
    mysql -h localhost -u root -p azienda
    dove al posto di root devi inserire le tue credenziali di accesso.
    Ti verrà, dopo invio, chiesto di inserire la password.

    Può essere che su windows il comando sia C:\Programmi\EasyPHP5.2.10\mysql\mysql.exe , il resto uguale.

    Prova a dare questo comando e dimmi cosa ricevi come output.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    aggiungo che i database vengono salvati nella directory che è indicata nel file di configurazione di mysql (mi sembra che si chiami my.cfg), e questo avviene automaticamente.
    Per ogni database mysql crea una sottodirectory che ha come nome lo stesso del database e all'interno memorizzerà le tabelle, ciascuna in un certo numero di file che hanno come nome lo stesso della tabella e una estensione variabile.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.