Come faccio a stampare i dati contenuti in un database access in delle label di una form.
"Prime armi"
Mio serve a partire dalla creazione della connessione al db alla stampa finale
Ciao David
Come faccio a stampare i dati contenuti in un database access in delle label di una form.
"Prime armi"
Mio serve a partire dalla creazione della connessione al db alla stampa finale
Ciao David
devi associare le label ai campi della tabella del database
es..
Imports System
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conn1 As OleDbConnection = New OleDb.OleDbConnection
Dim dbApt As OleDbDataAdapter = New OleDbDataAdapter
Dim ds1 As DataSet
conn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;" & _
"Data Source=C:\Documents and Settings\Giancaspero\Desktop\Telerilevamento.mdb;" & _
"Mode=Share Deny None;Extended Properties="""";" & _
"Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";" & _
"Jet OLEDB:Engine Type=5;Jet OLEDBatabase Locking Mode=1;" & _
"Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;" & _
"Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;" & _
"Jet OLEDBon't Copy Locale on Compact=False;" & _
"Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False"
' Apro la connessione
conn1.Open()
' Imposto la Stringa SQL (si potrebbe assegnare una tabella o una query)
Dim dbComm As OleDbCommand = New OleDbCommand("SELECT * FROM MezziGomma", conn1)
' Ovviamente comando di tipo testo (in questo caso)
dbComm.CommandType = CommandType.Text
' Assegno il comando al Data Adapter
dbApt.SelectCommand = dbComm
' ***********
ds1 = New DataSet("MezziGomma")
' ripulisco il dataset
ds1.Clear()
' popolo il dataset
dbApt.Fill(ds1, "MezziGomma")
' Nascondo il campo "NAZ"
ds1.Tables("MezziGomma").Columns("NAZ").ColumnMapp ing = MappingType.Hidden
'Assegno la sorgente al Datagrid
DataGrid1.DataSource = ds1
' Assegno la tabella da visualizzare
DataGrid1.DataMember = "MezziGomma"
' chiudo la connessione
conn1.Close()
End Sub
End Class
es..
cosi ti colleghi a un database access e lo colleghi a un datagrid
se puoi vuoi che i dati dei record vengano visualizzati su della label devi fare
label.databinding.add("text",nome dataset,"nometabella.nomecampo")
Nella riga
Label1.DataBindings.Add("text", ds1, "utenti.cognome")
e nella riga
DataGrid1.DataSource = ds1
Eccezione non gestita di tipo "System.NullReferenceException" in connessione.exe
codice:Label1.DataBindings.Add("text", ds1.nometabella, "nomecampo")
Mi da sempre lo stesso errore nella scritta in rosso sia cher metto la label in un modo che nell'altro e pure nel datagridcodice:Imports System Imports System.Data Imports System.Data.OleDb Public Class Form1 Inherits System.Windows.Forms.Form Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid Friend WithEvents Label1 As System.Windows.Forms.Label Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim conn1 As OleDbConnection = New OleDb.OleDbConnection() Dim dbApt As OleDbDataAdapter = New OleDbDataAdapter() Dim ds1 As DataSet conn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;" & _ "Data Source=C:\utenti.mdb;" ' Apro la connessione conn1.Open() ' Imposto la Stringa SQL (si potrebbe assegnare una tabella o una query) Dim dbComm As OleDbCommand = New OleDbCommand("SELECT * FROM utenti", conn1) ' Ovviamente comando di tipo testo (in questo caso) dbComm.CommandType = CommandType.Text ' Assegno il comando al Data Adapter dbApt.SelectCommand = dbComm ' *********** ds1 = New DataSet("utenti") ' ripulisco il dataset ds1.Clear() ' popolo il dataset dbApt.Fill(ds1, "utenti") Label1.DataBindings.Add("text", ds1, "nome") 'Assegno la sorgente al Datagrid DataGrid1.DataSource = ds1 ' Assegno la tabella da visualizzare DataGrid1.DataMember = "utenti" ' chiudo la connessione conn1.Close() End Sub Private Sub InitializeComponent() Me.DataGrid1 = New System.Windows.Forms.DataGrid() Me.Label1 = New System.Windows.Forms.Label() CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'DataGrid1 ' Me.DataGrid1.DataMember = "" Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText Me.DataGrid1.Location = New System.Drawing.Point(64, 8) Me.DataGrid1.Name = "DataGrid1" Me.DataGrid1.TabIndex = 0 ' 'Label1 ' Me.Label1.Location = New System.Drawing.Point(88, 144) Me.Label1.Name = "Label1" Me.Label1.TabIndex = 1 Me.Label1.Text = "Label1" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1, Me.DataGrid1}) Me.Name = "Form1" CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub End Class
allora
dopo che hai popolato il database
ds1.clear
adapter.fill(ds1,"nome tabella")
datagrid1.datasource = ds1
datagrid1.datamember = "nome tabellla"
dopodiche dai alla label lil databinding
label.databinding.add ("text",ds1,"nometabella.nomecampo")
prova cosi
Label1.DataBindings.Add("text", ds1.nometabella, "nomecolonna")codice:Label1.DataBindings.Add("text", ds1, "nome")