Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110

    [VB.NET] - Le Join in ADO.net

    Ciao a tutti,
    eccomi all'ennesima domanda su dataset/datatable ecc

    si parla di join!

    Io ho un dataset che è la proiezione di un db MySQL sul quale lavoro disconessa per poi aggiornare il database.
    Ho parecchie datagridview che uso per visualizzare JOIN di più tabelle.
    Esempio:
    Se nel DB ho le tabelle:

    • Utenti
    • Recapiti

    relazionate tra loro con una relazione 1 a molti (1 utente può avere N recapiti), nella mia datagridview visualizzo dati da una e dall'altra tabella!
    Niente di trascendentale lo so se non fosse che uso i bindingsource (e non posso non usarli per motivi che non sto qui ad elencarvi) per passare i dati dal DataSet alle datagridview.

    Per ovviare al problema ho creato una View nel mio database che poi proietto sotto forma di dataTable nel mio dataset (ed uso quella col binding source).

    Funziona ma ho una piccola rottura che vorrei risolvere:
    Se ho 5 visualizzazioni diverse per 5 datagridview diverse devo creare 5 dataTable diverse ed ogni volta che faccio una Insert, Update, Delete sulle tabelle vere e proprie devo rieseguire il fill di tutte le dataTable delle view coinvonte

    Come sempre è un po complicato da spiegare...

    La mia domanda è:

    Esiste un modo in ADO.Net per creare delle dataView che si aggiornano in tempo reale? Come nel Database!
    Cioè se io creo delle view di alcune tabelle possono aggiornarsi in automatico quando io modifico le suddette tabelle?

    Spero di essermi spiegata bene...
    In caso contrario vi faccio un bel esempio grafico! Grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    La mia domanda è:
    perché hai 5 visualizzazioni diverse?
    Io uso UNA sola visualizzazione, poi configuro il DGW in base all'utente, permessi, ecc. che ha.
    Ad esempio, ho delle DGW che vengono utilizzate da diversi utenti nel mondo, con un livello di credenziali diverso, e di diversa nazionalità (quindi anche tradotte in lingua), e così via.
    La visualizzazione è standard, ma poi in base a tali condizioni, permetto o meno determinate azioni, visualizzazioni custom, ecc. Ma è un fatto puramente estetico.
    La 'base' dei dati è una sola, identica per tutti gli utenti.
    Addirittura l'utente ha pure la facoltà di nascondere e spostare le colonne (a sua disposizione) come gli pare.

    Magari sono io che non ho capito il problema?

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Quote Originariamente inviata da gibra Visualizza il messaggio
    La mia domanda è:
    perché hai 5 visualizzazioni diverse?
    Io uso UNA sola visualizzazione, poi configuro il DGW in base all'utente, permessi, ecc. che ha.
    Ad esempio, ho delle DGW che vengono utilizzate da diversi utenti nel mondo, con un livello di credenziali diverso, e di diversa nazionalità (quindi anche tradotte in lingua), e così via.
    La visualizzazione è standard, ma poi in base a tali condizioni, permetto o meno determinate azioni, visualizzazioni custom, ecc. Ma è un fatto puramente estetico.
    La 'base' dei dati è una sola, identica per tutti gli utenti.
    Addirittura l'utente ha pure la facoltà di nascondere e spostare le colonne (a sua disposizione) come gli pare.

    Magari sono io che non ho capito il problema?
    Anche da me la base dati è una sola ma a me serve vedere più tabelle su una unica datagridview...è quello il problema e l'unico modo che ho trovato è fare una join sul mio db che carico su una tabella a parte!
    Le 5 visualizzazioni nascono dal fatto che ogni dgv ha una join con tabelle diverse e in alcuni casi una c'è sempre (utenti) e se io modifico quella devo refillare tutte le tabelle collegate alle view

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Ieri ho risposto dallo smartphone e mi rendo conto che non è molto comprensibile quanto ho scritto.

    Il mio problema, come dicevo, è che la stessa tabella spesso ricorre in visualizzazioni di contesto diverso.

    Ti faccio un esempio:

    > CLIENTI
    > FATTURE
    > PRENOTAZIONI
    > COMUNI

    Quando devo visualizzare le fatture devo visualizzare anche i dati del cliente (Ed è già una join che devo creare sotto forma di datatable)

    Quando vedo le prenotazioni lo stesso (altra Join)

    Quando vedo i clienti creo una JOIN con il comune di appartenenza

    giusto per rendere l'idea! Ma ho molte più tabelle che si incrociano in vari modi.


    Il problema è che se anche la base dati è la stessa non conosco metodi per lavorare disconnessa (quindi coi dataset) e visualizzare più tabelle in una sola datagridview tramite il bindingsource (che come ho già detto in altri thread devo usare per una questione di "filtraggio rapido dei dati che sono davvero parecchi") quindi mi chiedevo se esistesse un modo per creare un dataSource che "proiettasse" i dati della base dati senza dover ogni volta creare una datatable per contenere le varie views del database.

    Spero così sia più comprensibile!

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