Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [Access - Vb.Net - ADO.net] - Relazioni tabelle

    Ciao ragazzi, vorrei sapere una curiosità...

    Io sto sviluppando un software Vb.Net che si aggancia a un DB Access tramite ADO.NET.

    Nel DB ci son 3 tabelle.

    Siti
    Stili
    Categorie

    le ultime 2 tabelle son relazionate alla prima con una realazione "Uno a molti".

    Ho applicato anche l'integrita referenziale per le modifiche (ma nn per le eliminazioni visto che se elimino una categoria dalla tabella Categorie nn voglio che mi elimini il sito dalla tabella Siti).

    Vorrei sapere...è possibile far si che inserendo il valore nel campo Categoria della tabella sito me lo aggiunga anche in qualla Categoria? O devo per forza farlo al contrario? (Cioè aggiungere nella tabella categoria e poi creare un record su siti con quella categoria già esistente)

    Grazie...lo so nn si capisce nulla come mi spiego in ste cose

    :*

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il modo giusto e' aggiungere su Categorie ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Ok me ne farò una ragione!

    E' solo che con Vb6 era tutto molto + facile. dichiaravo l'oggetto recordset e usavo sempre quello modificandone il source qui invece devo fare una variabile ogni volta che mi connetto...

    tipo:
    codice:
       'Connessione:-----------------------
            Dim PercorsoDB As String = miaCartella & "/proprietà.mdb"
            Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=" & PercorsoDB
            Dim Cn As New OleDbConnection(ConnString)
            Dim sql As String
            '----------------------------------
          
      sql = "SELECT * FROM categorie"
            If Cn.State = ConnectionState.Open Then
                Cn.Close()
            End If
            Cn.Open()
            Dim cmd0 As New OleDbCommand(sql, Cn)
            Dim dr0 As OleDbDataReader = cmd0.ExecuteReader
            While dr0.Read
                cmbCat.Items.Add(dr0.Item("categoria"))
            End While
            cmd0 = Nothing
            dr0.Close()
            dr0 = Nothing
    
    
    sql = "SELECT * FROM stili"
            If Cn.State = ConnectionState.Open Then
                Cn.Close()
            End If
            Cn.Open()
            Dim cmd0 As New OleDbCommand(sql, Cn)
            Dim dr1 As OleDbDataReader = cmd0.ExecuteReader
            While dr1.Read
                cmbCat.Items.Add(d1.Item("stile"))
            End While
            cmd1 = Nothing
            dr1.Close()
            dr1 = Nothing
    vedi dr0, dr1, cmd0, cmd1.....non posso usare sempre dr e cmd cambiandone il contenuto di volta in volta?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    e perchè no?

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Perchè è una rottura mortale e soprattutto per far una stupidagine mi si sporca il codice di righe e righe...


    non è possibile creare una funzione pubblica in un modulo e richiamarla ogni volta cambiando solo la stringa SQL (come facevo in Vb 6).

    meno male che col vb.net doveva esserci meno codice xD

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Con il VB.NET ci dovrebbero essere meno programmatori della domenica ...

    qui invece devo fare una variabile ogni volta che mi connetto
    Perche'?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    -.-' ancora con sta storia? xD

    dicevo....

    Io con vb 6 mi facevo una funzione su un modulo (che so...popolaListBox) e la richiamavo passandole tutti i valori per eseguire il sql.

    Qui ogni volta devo dichiarare variabili su variabili...tipo l'esempio su...dr (il dataReader) io ho usato dr0 e poi dr1 perchè se riuso dr0 per 2 volte anche se l'ho chiuso mi da errore...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Veronica80
    se riuso dr0 per 2 volte anche se l'ho chiuso mi da errore...
    Probabilmente dovresti approfondire l'errore (a proposito, QUALE errore?) e cercare di capire quale possa essere la soluzione ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    puoi riusare le variabili.. probabilmente fai degli errori nel riusarle.. posta il codice che ti da errore e l'errore

  10. #10
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    il codice è quello che vedi su.
    però invece che dr0 e dr1 (ecc per tutte le DIM) metti sempre dr0.

    mi da l'errore:

    Errore 1 La variabile locale 'cmd0' è già dichiarata nel blocco corrente.

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.