Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    vb.net DATAGRID

    Salve ragazzi...

    Abituata a programmare in OOP ...mi aspettavo
    la possibità di collegare una tabella FIREBIRD
    ad un DATASET , collegato a sua volta ad una connessione
    odbc, il DATASET collegato ad un DATASOURCE e in fine
    agganciarlo al DATAGRID, e quindi visualizzare tutti dati,
    invece...il dataset lo devo popolare io da codice?

    graditi consigli, esempi ecc ecc

    grazie mille

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Dai tuoi termini riconosco l'approccio tipico di Delphi.

    Ahimè, in ambiente .NET e con i provider ADO.NET, le cose non sono sempre così semplici.

    Dovresti familiarizzare con la gerarchia di classi ADO.NET e con le parti di questa gerarchia che colloquiano con differenti database; per quanto riguarda FireBird, è possibile scaricare il relativo FireBird ADO.NET Data Provider.

    Per ottenere una visualizzazione di dati nel DataGrid, è necessario stabilire una connessione attraverso un componente specifico (in base al database selezionato), che sia SqlConnection, OleDbConnection, OdbcConnection e così via; in seguito, con un XXXCommand (sostituire a "XXX" la piattaforma scelta per l'accesso ai dati) si determina lo statement SQL da utilizzare per reperire i dati.

    Il comando viene usato da DataAdapter, un componente che si comporta come il DataSetProvider di Delphi, per riempire un DataSet (che assomiglia invece ad un ClientDataSet di Delphi), un componente che colleziona e immagazzina tabelle in memorie che possono essere associate alla griglia DataGrid che provvederà a visualizzarli.

    Devo dire che, dopo un'analisi approfondita dei meccanismi, considerando che in .NET 1.1 (non so nel 2.0) non è supportato il "live design data" (dati a designtime per prove tecniche), non è presente nulla che assomigli ad un DataModule di Delphi per condividere componenti a livello visuale in Windows Forms, non esiste alcun tipo "cross reference" consentito tra diversi moduli per collegare componenti tra unità differenti (es. Form diverse).

    In sostanza, se sei abituata al meccanismo che hai descritto nel tuo quesito, dovrai fare qualche sforzo per adeguare la visione all'ADO.NET way.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3

    VB.NET] DataGrid, DataSource e DataSet

    Allora....ho piu o meno capito...
    Il database è connesso con ODBC Connection....driver Firebird che ho scaricato...Nel dataset ho messo tutti i nomi dei campi che mi serve visualizzare e poi l'ho collegato alla griglia, dove anche li ho inserito le colonne che devo far vedere..... mi manca un passaggio, ossia il collegamento tra il dataset e il database connesso...
    E' cmq da codice che devo farlo? tipo dataset.Fill? qualcosa del genere?


    grazie Alka sei sempre molto molto gentile...

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Ciao,
    Eccoti un semplice esempio per un DB MS Access.
    I valori del DataSource="....." nella connection string e la
    stringa sql devi ovviamente modificarli con i tuoi dati.

    codice:
    Sub FillDataGrid
    	
    	Dim DataConnString as String  = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MFSoft\DB\DataBaseClienti.mdb;"
    	Dim cn As New OleDbConnection()
    	cn.ConnectionString = DataConnString
    	cn.Open
    	
    	dim  sql As String = "Select * from tblClienti Order By Cognome, Nome"
    	
    	Dim cmd As  New OleDbCommand()
    	
    	cmd.Connection = cn
    	cmd.CommandText = sql
    	
    	Dim dad As OleDbDataAdapter = New OleDbDataAdapter(cmd)
    	Dim dataset As DataSet = New DataSet("Dati")
    	
    	dad.Fill(dataset)
    	
    	Me.dataGrid1.DataSource = dataset
    	Me.dataGrid1.DataMember = dataset.Tables(0).TableName
    	
    	cn.Close
    	
    End Sub
    Per far funzionare il tutto ricordati di inserire le seguenti
    imports :
    codice:
    Imports System.Data
    Imports System.Data.OleDb
    Imports System.Data.SqlClient
    Ciao, Brainjar

  5. #5

    [VB.NET] DataGrid, DataSource e DataSet

    grazie mille lo provo

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: VB.NET] DataGrid, DataSource e DataSet

    Originariamente inviato da niquesca
    Il database è connesso con ODBC Connection....driver Firebird che ho scaricato...
    Dato che è disponibile, ti suggerisco di usare il provider ADO.NET per FireBird al posto del driver ODBC, lento ed obsoleto.

    Usando il provider ADO.NET, hai a disposizione classi specifiche per accedere a FireBird, senza passare per OLE DB o - ancora peggio - ODBC.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    In perfetto stile Alka, non c'è che dire.
    Ciao, Brainjar

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.