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

    [VB.Net] - Metodo Find datarow e doppie chiavi primarie

    Ciao a tutti! Io di solito per trovare un determinato record nella mia dataTable uso il metodo Find

    Per esempio in un caso del genere:
    codice:
    dim mioRecord as datarow=ds.tables("miaTab").rows.find(mioID)
    trovo la riga avente chiave primaria il valore di "mioID".

    Tutto funziona sempre ed è molto veloce.

    Ora mi trovo a dover affrontare un eccezione ovvero ho una tabella che ha 2 chiavi primarie e il metodo Find giustamente non sa se il valore di mioID deve esser pescato nella prima o nella seconda!
    Come posso fare?

    Per popolare la table faccio così:
    codice:
    dim cmd as new MysqlCommand("SELECT * FROM miaTab ORDER BY mioCampo ASC",miaConnessione)
    dim ds as new Dataset
    dim da as new mysqlDataAdapter(cmd)
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey
    da.Fill(ds, "miaTab")
    da.Dispose()
    cmd.Dispose()

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Ovviamente devi indicare tutte le colonne che compongono la chiave primaria:

    DataRowCollection.Find Method (Object())
    http://msdn.microsoft.com/en-us/library/f6dh4x2h


  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    scusami Gibra ma questo esempio (se ho capito bene) cerca piu valori nella stessa chiave primaria giusto?

    Io devo cercare solo un valore, non le chiavi primarie che son multiple! A livello di struttura tabella però non di dati!

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Veronica80
    scusami Gibra ma questo esempio (se ho capito bene) cerca piu valori nella stessa chiave primaria giusto?
    No.

    Originariamente inviato da Veronica80
    Io devo cercare solo un valore, non le chiavi primarie che son multiple!
    La chiave primaria è univoca (quindi non può essere multipla).
    Per identificare il record in maniera univoca devi usare TUTTE le colonne che compongono la chiave primaria, non c'entra quale colonna vorrai farti restituire, può essere l'ID, pinco-pallino e topolino.

    Originariamente inviato da Veronica80
    A livello di struttura tabella però non di dati!
    Qual'è la differenza?

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Si ok...quindi siccome io ho 2 colonne impostate come chiave primaria nella mia tabella devo passare il valore di entrambi le colonne giusto?

    In quell'array di oggetti quindi passo:

    valore colonna1 (es: mioID)
    valore colonna2 (es: miaLingua)

    che sono le colonne della chiave primaria!

    Mi ero fatta confondere dall'esempio non avendo sott'occhio la tabella che viene utilizzata nello stesso!

    Appena son in ufficio provo!

    Per ora grazieeee


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.