Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Originariamente inviato da brutusin
    ovviamente sistemerò quando butterò giù la "versione" definitiva.
    spero che sistemerai utilizzando un dataprovider specifico altrimenti la classe ottimizzata per accedere al meglio al db... non sara' ottimizzata.
    Inolte cosa intendi Ma nella tua funzione chiudi sempre alla fine la connessione?
    Il datareader per essere letto deve avere la sua connessione aperta. Se la funzione che restituisce il datareader chiude la connessione quando poi cercherai di leggere il datareader non rischi un errore?
    Aggiungo che creare funzioni che restituiscono datareader all'esterno non mi sembra una ottima idea. Preferirei funzioni generiche che fanno un executenonquery o un executescalar oppure mi tornano una datatable (che e' appunto un oggetto non legato alla connessione).
    Infine (ma non in ordine di importanza) esistono degli esempi direttamente fatti da Microsoft che sono gli application block. In paricolare c'e' il data access application block che e' un gioiellino in quanto fornisce allo sviluppatore tutte le funzioni generiche di cui c'e' bisogno ed in piu' grazie all'implementazione di interfacce e oggetti permette di passare da un db all'altro molto facilmente.
    http://tinyurl.com/584fd
    Saluti a tutti
    Riccardo

  2. #12
    Originariamente inviato da riccardone
    Hai una funzione che ti ritorna un datareader che e' l'unico contenitore di dati geneticamente legato alla connessione.
    Normalmente apri la connection, leggi i dati, chiudi il datareader, chiudi la connection. Ma nella tua funzione chiudi sempre alla fine la connessione (poi se metti quel comando nel finally non metterlo anche nel catch).
    Per il resto, se usi mysql esistono dataprovider specifici per quel db come ad esempio il mysqlconnector della stessa mysql ab quindi non mi sembra una buona idea utilizzare odbc (mischiato con oledb).
    utilizzando MySql connector la stringa di connessione come va camviata?
    da:
    value="DRIVER={MySQL ODBC 3.51 Driver}

    a?

  3. #13
    x riccardone: ho visto il link che mi hai postato però non è supportato il db mySQL!

    x tutti: come riscrivereste quella funzione?
    inizio ad avere una confusione terribile in testa

  4. #14
    Originariamente inviato da Daniele80
    utilizzando MySql connector la stringa di connessione come va camviata?
    Mi sembra normale. Basta leggere la documentazione (integrata in msdn tra l'altro) scaricabile con il dataprovider.
    es.
    codice:
    myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"
    Saluti a tutti
    Riccardo

  5. #15
    Originariamente inviato da brutusin
    x riccardone: ho visto il link che mi hai postato però non è supportato il db mySQL!
    Sono presenti classi di accesso ai dati per altri database server. Tempo fa scrissi in una oretta una classe di accesso per mysql. Questo non perche' sono bravo ma perche' il tutto e' architettato in modo da implementare facilmente nuovi database e passare da un db all'altro senza troppi patemi.
    Cosa ci troverai poi in mysql?
    Saluti a tutti
    Riccardo

  6. #16
    Originariamente inviato da riccardone
    Mi sembra normale. Basta leggere la documentazione (integrata in msdn tra l'altro) scaricabile con il dataprovider.
    es.
    codice:
    myConnectionString = "Database=Test;Data Source=localhost;User Id=username;Password=pass"

    scusami, infatti ho letto meglio e l'ho vista.

  7. #17
    cosa ci troverò in mySQL
    costa meno di SQLServer e ha prestazioni migliori rispetto ad access

  8. #18
    ho scaricato il materiale che mi avete segnalato però sembra proprio che con mySQL ci sia ben poco da fare purtroppo non basta cambiare la stringa di connessione !!!
    si usano funzioni diverse
    peccato però sembrava davvero molto potente come strumento !

  9. #19
    Originariamente inviato da brutusin
    costa meno di SQLServer e ha prestazioni migliori rispetto ad access
    Sei sicuro?
    Integrita' referenziale = 0
    Union e subquery = 0
    Viste e stored procedures = 0
    Queste sono solo le prime cose che mi vengono in mente. Almeno access i primi due punti li ha. Il terzo lo tiri fuori in qualche modo con le query.
    Mysql si e' diffuso tantissimo non tanto per la sua bonta' (a parte la velocita' rimane ben poco) ma sull'onda della falsa idea che era gratis.
    Se vuoi una soluzione low cost (anzi a costo 0) dai una occhiata a postgres. Se non hai molti utenti contemporanei guarda msde che ha lo stesso motore di sqlserver.
    Saluti a tutti
    Riccardo

  10. #20
    Originariamente inviato da brutusin
    ...peccato però sembrava davvero molto potente come strumento !
    Gli application block (ce ne' uno per ogni tipologie di problematiche che i programmatori si trovano spesso ad affrontare) sono ottimi anche come esempio. Se vuoi fare una classe di accesso ai dati generica che ti aiuti con piu' applicazioni il data access application block credo sia il migliore tra gli esempi quindi fossi in te dedicherei un po di tempo a vedere ad es. quali funzioni vengono esposte a chi utilizza la libreria es. executedataset, executereader, updatedataset ecc.
    Saluti a tutti
    Riccardo

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