Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Connessione a DB e VWD

  1. #1

    Connessione a DB e VWD

    Ciao a tutti, sto cercando di capire la logica migliore per gestire una connessione cn Visual Web Developer e .NET 2.0.

    Io ho creato una connessione al mio DB in DataBase Explorer... a questo punto per gestire la connessione devo inserire la stringa anche nel web.config e poi richiamarla sempre in ogni pagina (come nel vecchio 1.1)... oppure esiste una soluzione piu "fine"???

    Ma se devo mettere la stringa nel web.config, a cosa serve creare una connessione nel DataBase Explorer??

    Grazie per tutti i suggerimenti.
    Iceberg

  2. #2
    Infila un SqlDataProvider nella pagina (oppure seleziona Nuova sorgente dati da un, ad es., GridView), VWD ti chiederà automaticamente se vuoi creare la stringa di conn nel file web.config o meno.


  3. #3
    Ahh quindi fa tutto in base al DB inserito nel DB Explorer???

    Graaaassie

    Ultima cosa... è proprio necessario richiamare la connessione in ogni pagina??? Non sarebbe meglio creare una classettina per gestire la connessione??? Io ci ho provato ma senza successo, ho cercato qualche esempio on line ma non ho trovato nulla! Sai darmi qualche dritta a riguardo??

    Grazie ancora, scusa ma vorrei iniziare ad utilizzare una logica corretta e non utilizzare la filosofia del Prof Kaz (metodo alla Kaz).
    Iceberg

  4. #4
    Originariamente inviato da iceberg
    Ahh quindi fa tutto in base al DB inserito nel DB Explorer???

    Graaaassie

    Ultima cosa... è proprio necessario richiamare la connessione in ogni pagina??? Non sarebbe meglio creare una classettina per gestire la connessione??? Io ci ho provato ma senza successo, ho cercato qualche esempio on line ma non ho trovato nulla! Sai darmi qualche dritta a riguardo??

    Grazie ancora, scusa ma vorrei iniziare ad utilizzare una logica corretta e non utilizzare la filosofia del Prof Kaz (metodo alla Kaz).
    Si anche io mi premunisco per ogni applicativo con classi apposite dedicate alla connessione al database.
    Potresti implementare una classe con dei metodi che restituiscono un DataSet o SqlDataReader ad es. (ed anche qualcosa per eseguire query SQL o SP passando una collection di SqlParameter come parametro).

    Non posso scriverti codice qui.. altrimenti che divertimento ci sarebbe??
    Fai qualche prova e poi, se avrai problemi, saremo qui ad aiutarti molto volentieri

    Il VWD aiuta molto sotto questo aspetto perché in pochi click ti permette di creare una connessione al db e popolare un GridView. Alle volte utilissimo, visto che ci risparmia tempo e lavoro, ma spesso invece capita di non poter utilizzare questa modalità

  5. #5
    Originariamente inviato da ZofM
    Alle volte utilissimo, visto che ci risparmia tempo e lavoro, ma spesso invece capita di non poter utilizzare questa modalità
    Intendi nei casi in cui si vuole gestire il tutto tramite classi apposite??

    Ma se gestisco la connessione nella mia classe, utilizzando nei vari metodi... dovrò cmq inserire la connessione anche nella pagina che utilizza la clase??? (domanda banale, credo che la risposta sia SI)

    Si anche io mi premunisco per ogni applicativo con classi apposite dedicate alla connessione al database.
    Potresti implementare una classe con dei metodi che restituiscono un DataSet o SqlDataReader ad es. (ed anche qualcosa per eseguire query SQL o SP passando una collection di SqlParameter come parametro).

    Non pretendo il codice... ma almeno capire la logica dei metodi...

    Due classi per gestire Open e Close della connessione (che semplicemente eseguono .Open(); e .Close()
    Un classe che riceve in ingresso (no so) e che ritorna un dataset per il datagrid... tu usi dataset tipizzati???
    E quella con dei parametri come la dovrei impostare??

    Grazie ancora per la pazienza
    Iceberg

  6. #6
    Non opteri per una classe dove tutte le volte devi aprire/chiudere la connessione con dei metodi appositi.

    Potresti creare una classe dove ad es. un metodo ti restituisce un DataSet popolato in base alla query SQL che gli hai passato come parametro. Nella classe puoi aprire / popolare il dataset / chiudere la connessione / restituire il DataSet. Avrai a disposizione i dati in memoria.
    Stessa cosa per un ...DataReader ma in questo caso è necessario utilizzare il parametro CommandBehavior.CloseConnection al momento della creazione del DataReader. Questo fa si che la connessione al db venga chiusa nel momento (fuori dalla classe) in cui chiudi il DataReader.

    A questo punto.. dalle tue pagine potresti avere una cosa del genere:

    DataSet ds = miaClasse.GetDataSet("SELECT * FROM tabella");
    SqlDataReader dr = miaClasse.GetDataReader("SELECT * FROM tabella");

    In questo modo hai codice + pulito nelle tue pagine e non devi occuparti ogni volta di aprire/chiudere connessioni (ma ricordati di chiudere sempre il DataReader con "dr.Close();").


  7. #7
    ahhh il datareader di una classe non deve essere chiuso nella classe... ma nella sua istanza??? questo non lo sapevo

    Grazie
    Iceberg

  8. #8
    Ultima domanda: quindi creando una classe per gestire i dati, inserendo un nuovo GridView nella pagina non devo utilizzare il wizard che mi chiede DataSource.... e che mi crea in automatico la connessione.

    Giusto?
    Iceberg

  9. #9
    Originariamente inviato da iceberg
    Ultima domanda: quindi creando una classe per gestire i dati, inserendo un nuovo GridView nella pagina non devo utilizzare il wizard che mi chiede DataSource.... e che mi crea in automatico la connessione.

    Giusto?
    Giustissimo, ma questo ti creerà una serie di problematiche che dovrai risolvere.
    Il GridView funziona "da solo" (paginazione, ordinamento, selezione ecc...) solo se la sorgente è di tipo DataProvider.
    Se gli imposti da codice una sorgente come può essere un DataSet dovrai gestire tu tutto quanto (come il "vecchio" DataGrid).

    Altrimenti, puoi sempre creare un tuo DataProvider personalizzato


  10. #10
    Ma la paginazione veniva gestita automaticamente con un datagrid con datasource creato "manualemente"
    Iceberg

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.