Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74

    Vb2010: estrarre valore da campo tabella mdb

    Salve a tutti.

    Vorrei sapere quale e' il metodo più semplice per poter estrarre il valore contenuto in un campo di una tabella mdb.

    Dopo aver eseguito la connection con la stringa di connessione ....
    aver dichiarato il dataadapter ...
    aver dichiarato il dataset ....
    aver "fill" il dataadapter ....

    codice:
    Dim strCN As String = stringaconn & ";Persist Security Info=False"
            Dim sqlSelectDefault As String = "SELECT * FROM dati"
            Dim CN As New OleDb.OleDbConnection(strCN)
            Dim DA As New OleDb.OleDbDataAdapter(sqlSelectDefault, CN)
            Dim DS As New DataSet
    
    
            DA.Fill(DS, "dati")
    se nella tabella "dati" ci sono i campi NOME e COGNOME

    come posso visualizzare il nome nel textbox1 , per esempio ?


    Grazie ....
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    Ciao,

    Dopo aver eseguito la connection con la stringa di connessione ....
    aver dichiarato il dataadapter ...
    aver dichiarato il dataset ....
    se ti tiri fuori una tabella è sufficiente un Datatable, un dataset è un contenitore più grande, che può avere più datatable.

    Vedila come uno spreco di risorse..

    quindi sarebbe

    codice:
    Dim strCN As String= stringaconn &";Persist Security Info=False"
    Dim sqlSelectDefault As String="SELECT * FROM dati"
    Dim CN As New OleDb.OleDbConnection(strCN)
    Dim DA As New OleDb.OleDbDataAdapter(sqlSelectDefault, CN)
    Dim Dt As New DataTable
    
    DA.Fill(Dt, "dati")
    




    comunque era solo una precisazione, non è sbagliato il tuo metodo.

    per prendere i relativi dati dalla tua collection puoi fare un for each

    codice:
    For Each dr as DataRow In DS.Tables("dati").Rows
        Console.WriteLine("{0} {1}", dr.Item("NOME").ToString, dr.Item("COGNOME").ToString)
    Next

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Grazie per la risposta.

    Quindi, (e scusa la domanda sciocca ma sono nuovo di VB2010 ...) per estrarre il valore di un campo devo per forza fare un ciclo ?

    Per esempio:
    ho una tabella dove (lo so che è sbagliato, lo so ....) nella prima colonna mi ritrovo sempre lo stesso valore (CAP).
    se volessi accedere alla tabella una sola volta, prelevare quel valore e metterlo nella variabile globale CAPCITTA, dovrei fare quel ciclo e fermarmi al primo record imponendo un exit forzato ?

    Grazie
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    no ma in questo caso non c'erano clausole where, tiri fuori tutta la tabella.

    comunque puoi tirare fuori i dati usando la proprietà Rows

    codice:
    DS.Tables("dati").Rows(0).Item("CAP")

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    74
    Grazie.
    Gentilissimo.
    Dopo anni di programmazione amatoriale in VBA, ho deciso di passare a VB.NET

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non si carica mai un'intera tabella solo per prelevare un singolo valore.
    Sarebbe come usare un camion per consegnare una pizza.


    Puoi usare il metodo ExecuteScalar:

    Metodo OleDbCommand.ExecuteScalar (System.Data.OleDb)
    http://msdn.microsoft.com/it-it/libr...code-snippet-3

  7. #7
    ancora di più metterei una WHERE nella SELECT per limitare il prelievo

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.