Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    [oracle-getschema]trovare le tabelle dipendenti

    Ho una certa tabella A con chiave ID. Volevo trovare tutte le tabelle legate ad A, ossia, quelle che sono legate tramite chiave esterna alla tabella A.

    Mi date una mano? (meglio due )


    Pietro

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    in attesa di un aiuto mi sono aiutato da solo

    nella pagina metto:
    <asp:TreeView ID="TreeView1" runat="server" ShowLines="True" AutoGenerateDataBindings="false" ShowExpandCollapse="true"></asp:TreeView>

    codice
    codice:
        Protected Sub Button8_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button8.Click
            Dim conn As o.OracleConnection = Nothing
    
            Try
                conn = New o.OracleConnection(gl.StringaConnessione)
                conn.Open()
    
                BindTreeView(conn)
    
            Catch er As Exception
                l.MessaggioErrore(er)
    
            Finally
                If conn IsNot Nothing Then conn.Close()
            End Try
    
        End Sub
    
        Protected Sub BindTreeView(ByVal conn As o.OracleConnection)
            Me.TreeView1.Nodes.Clear()
            Dim dt As DataTable = conn.GetSchema("ForeignKeys") 'elenco delle tabelle
    
            Dim nodo As New TreeNode("text", "value")
            nodo.SelectAction = TreeNodeSelectAction.Expand
            nodo.Collapse()
            Me.TreeView1.Nodes.Add(nodo)
            PopolaTreeView("value", dt, nodo)
    
        End Sub
    
        Private Sub PopolaTreeView(ByVal id As String, ByVal dt As DataTable, ByVal nodo As TreeNode)
            Dim rows As DataRow() = dt.Select(String.Format("PRIMARY_KEY_OWNER = 'PIETRO' AND PRIMARY_KEY_TABLE_NAME = '{0}'", id), "FOREIGN_KEY_TABLE_NAME")
    
            For i As Integer = 0 To rows.Length - 1
                Dim childNode As New TreeNode(rows(i).Item("FOREIGN_KEY_TABLE_NAME").ToString(), CStr(rows(i)("PRIMARY_KEY_TABLE_NAME")))
                childNode.SelectAction = TreeNodeSelectAction.Expand
                childNode.Collapse()
                nodo.ChildNodes.Add(childNode)
                PopolaTreeView(CStr(rows(i)("FOREIGN_KEY_TABLE_NAME")), dt, childNode)
            Next
    
        End Sub
    Pietro

  3. #3
    Se dichiari una connection a livello di classe, utilizzabile da qualsiasi metodo della classe, dovresti poi chiuderla non dentro un singolo metodo (il page_load) ma nell'evento Unload della pagina stessa. Cosi, se un domani utilizzi la connection in un altro punto, non rischi di trovartela chiusa.

    General Page Life-cycle Stages
    Unload ...use this event to do final cleanup work, such as closing open files and database connections, or finishing up logging or other request-specific tasks.


    http://msdn.microsoft.com/en-us/library/ms178472.aspx
    Saluti a tutti
    Riccardo

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: Certo, hai ragione

    Però conta questo:

    1) apro la connessione e la chiudo in una procedura perchè non mi serve altrove

    2) questa è una pagina di studio. Mi serviva solo per cercare di trovare le dipendenze di una tabella coi mezzi del framework. Una pagina reale, eventualmente, sarà più curata.

    Ciao.
    Pietro

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    anzi, visto che ti conosco per fama, non è che mi potresti aiutare a migliorarlo.

    Ad esempio, passando il mouse sopra una tabella, mi piacerebbe che si aprisse un tooltip col nome delle chiavi


    ps. puoi parlare pure in c#, è la mia seconda lingua
    Pietro

  6. #6
    hai provato a settare la proprietà tooltip sul nodo prima di aggiungerlo?
    Saluti a tutti
    Riccardo

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da riccardone
    hai provato a settare la proprietà tooltip sul nodo prima di aggiungerlo?
    :quote: Non è questo il problema, ma come maneggiare GetSchema :master:

    Pietro

  8. #8
    Saluti a tutti
    Riccardo

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da riccardone
    un link utile

    http://msdn.microsoft.com/en-us/library/ms254969(VS.80).aspx

    Grazie, ciao
    Pietro

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.