Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32
  1. #1

    visualizzare immagini casuali prese da database mysql

    Ciao a tutti,

    dovrei visualizzare al caricamento di una pagina aspnet 12 immagini

    casuali prese da un database mysql. Per maggiore completezza sto

    usando visual studio 2008 e ho installato il connector per far

    riconoscere mysql ad aspnet. Qualcuno sa dirmi come devo fare e che

    codice usare?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    be si riconduce ad un problema di estrazione random da databese

    in mysql è

    codice:
    SELECT * FROM tablename ORDER BY RAND() LIMIT 12
    bindi poi il datareader con un webcontrol legato all'accesso ai dati ... repeater , gridview etc etc etc...

  3. #3

    RE:visualizzare immagini casuali prese da database mysql

    Ciao GabbOne,

    finalmente qualcuno che lo sa fare!!!

    Non è che mi potresti dire passo passo come devo fare, cioè dalla connessione al database

    fino alla visualizzazione delle immagini (e relativo codice)? Non ho mai fatto operazioni di

    questo tipo e non saprei proprio procedere...

    Se puoi e non ti chiedo troppo mi sarebbe di grande aiuto, così imparo una volta per tutte a

    interagire col database.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Ti posso dare qualche dritta su come fare ma solitamente io uso mssql e non mysql quando sviluppo in asp.net

    Cmq diciamo che i passi base sono:
    Creare nel webconfig la stringa di connessione al database , ad esempio
    codice:
         <connectionStrings>
    		<add name="nomeConnessione" connectionString="Datasource=x.x.x.x;Database=NameDb;uid=username;pwd=xxxx" providerName="MySql.Data.MySqlClient"/>
    	</connectionStrings>
    Quello che devi settare in questa stringa è
    "x.x.x.x" è l'indirizzo del db >> in locale è localhost
    "NameDb" il nome del db al quale ti vuoi collegare
    "uid" è la username dell'utente che vuoi utilizzare per collegarti al db
    "pwd" la rispettiva password

    Ovviamente per gli ultimi due valori devi avere un account sul db mysql per poterti collegare.


    Per poter effettivamente interrogare il db hai poi bisogno delle giuste librerie. A questo proposito ti consiglio di leggere bene quello che dice la documentazione di MySql per quello che riguarda mysql connector .net . Si tratta di scaricare le giuste dll e metterle nella cartella bin del tuo sito. Insomma l'istruzione della stringa di connessione providerName="MySql.Data.MySqlClient" deve far scopa con le librerie che installerai sul tuo sito.

    Se hai problemi con la stringa di connessione puoi dare un'occhiata a quest'ottimo sito http://www.connectionstrings.com/ dove puoi trovare la stringa che piu si addice agli strumenti che stai utlizzando.


    Ok adesso quello che devi fare è provare ad interrogare il db da codice e per fare questo ti consiglio di guardare attentamente questo link http://dev.mysql.com/doc/refman/5.1/...ogramming.html
    che spiega quali sono le istruzioni per collegarti ( e nn solo !!!) ad un dbMySql sfruttando le librerie che hai scaricato in precedenza

    Quando riuscirai a fare questo vedremo come risolvere il problema delle estrazioni random


  5. #5

    re:

    Ciao GabbOne,

    ti ringrazio moltissimo, mi fai un enorme favore, ora provo a mettere in pratica le dritte che mi

    hai dato e man mano ti aggiorno sugli sviluppi...


  6. #6

    RE:visualizzare immagini casuali prese da database mysql

    Ciao GabbOne,

    ho seguito i passi che mi hai detto:

    -creare nel webconfig la stringa di connessione al database
    -installazione dei connector.net
    -messa a punto della stringa di connesssione

    Il codice che ho inserito nella pagina dove vorrei vedere le immagini visualizzate è

    protected void Page_Load(object sender, EventArgs e)
    {
    MySql.Data.MySqlClient.MySqlConnection conn;
    string myConnectionString;

    myConnectionString = "server=localhost;uid=kingadmin;" +
    "pwd=kpass;database=dematerializzazione;";


    conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectio nString);
    conn.Open();
    }

    Facendo partire il debug non mi dà errori, perciò posso considerarmi connesso al database?


    Grazie

  7. #7
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    prima di tutto è sconveniente utlizzare la stringa di connessione come hai fatto te nel codice .... quello che devi fare è prelevare la stringa di connessione direttamente dal webConfig e lo puoi fare con la seguente istruzione

    codice:
    string connString =  System.Configuration.ConfigurationManager.ConnectionStrings["nomeStringaConnessione"];
    questo ti evita spiacevoli incovenienti quando sei costretto a cambiare qualunco dei parametri presenti all'interno della stringa di connessione ... pensa se devi cambiare l'indirizzio del db perche metti il tuo sito su di un serverweb sarebbe catastrofico cercare tutti i punti del codice dove hai inserito la stringa mentre cosi la cambi solo nel web.cofig e sei sicuro che tutto continui a funzionare ...

    punto 2 se non ti da errori molto probabilmente sei riuscito a connetterti correttamente al db a questo punto puoi interrogarlo mediante la classe MySqlCommand e leggere i risultati attraverso MySqlDataReader come viene illustrato in questo esempio

    http://dev.mysql.com/doc/refman/5.1/...ls-sql-command

    Questa tecnica ti permette di accedere a tutti i record che ti vengono restituiti dalla query (della tua query ne abbiamo già parlato).

    nell'esempio il datareader viene utilizzato cosi
    codice:
    MySqlDataReader rdr = cmd.ExecuteReader();//Esgui la query
    
                while (rdr.Read())//Cicla per ogni record restituito
                {
                    Console.WriteLine(rdr[0]+" -- "+rdr[1]);//penso che tu debba usare La Response.Write(...)
                    //rdr[0] estrae il primo campo del record ma puoi utilizzare anche la sintassi rdr["nomecampo"]
                }
                rdr.Close();//Importante potrebbe causare il crash dell'applicazione se troppi datareader rimangono appessi senza essere chiusi
    Dimmi se riesci ad eseguire questa query

  8. #8
    Ciao GabbOne,

    grazie per il suggerimento, in effetti è meglio mettere un richiamo al web.config. Però

    ho inserito il riferimento al web.Config ma mi dà un errore...ti metto il codice

    protected void Page_Load(object sender, EventArgs e)
    {
    MySql.Data.MySqlClient.MySqlConnection conn;
    // string myConnectionString;


    string myConnectionString = System.Configuration.ConfigurationManager.Connecti onStrings["db_connection"];


    conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectio nString);
    conn.Open();
    }

    e l'errore è

    Error 60 Cannot implicitly convert type 'System.Configuration.ConnectionStringSettings' to 'string'

    come mai?

  9. #9
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Ho scritto di fretta sorry

    lìistruzione è

    codice:
    System.Configuration.ConfigurationManager.ConnectionStrings["nomeStringaDiConnessione"].ConnectionString

  10. #10
    Ho assegnato alla variabile stringa myConnectionString il codice che mi hai dato e non mi dà più

    errore!!

    Ora provo con l'interrogazione e lettura dei risultati e ti aggiorno man mano

    Grazie

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.