Ricupero dataset da file access sul web

venerdì 18 dicembre 2009 - 15.26

Chronodevis Profilo | Newbie

Buongiorno a tutti
Mi stò avvicinando ai web Service e spero di sottoporre una problematica comune:
Ho la necessita di esporre su una applicazione desktop il risultato di una interrogazione
su un database Access(l'unico che alcuni provider di hosting permettono gratis) posizionato
nel sito web.
Vorrei utilizzare pertanto un web serviceper esporre i risultati della query e una griglia
sull'applicazione windows form per elaborarli successivamente e ripedirli sul sito una volta aggiornati.
(non intendo eseguire l'elaborazione da una pagina aspx via internet per la logistica dell'applicazione desktop)
Software utilizzato: Visula Web Developer 2008 Express per il web service e Visual Basic 2008 Express Edition per l'applicativo.

il web service funziona poichè riesco a visualizzare l'ormai storica frase Hello world richiamando il metodo

<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function

attraverso la pressione del pulsante sul windows form

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'ritorna la stringa della funzione hello world
Dim ws As New it.sitoditest.www.Service
LabelHello.Text = ws.HelloWorld
End Sub

ma ora come è possibile ricuperare i dati del database access e visualizzarli in un controllo DataGridView1
attraverso la proprietà .DataSource ? sempre sull'applicativo desktop ?
esite un esempio il più semplice possibile che illustri questo procedimento ?
Grazie a tutti.

alx_81 Profilo | Guru

>Buongiorno a tutti
ciao

>ma ora come è possibile ricuperare i dati del database access e visualizzarli in un controllo DataGridView1
>attraverso la proprietà .DataSource ? sempre sull'applicativo desktop ?
Andiamo per passo.. ipotizziamo di avere una query su access che espone un resultset, chiamata "GetDati" ad esempio.
Ora, tramite ADO.Net, devi creare un "comando" verso il database per richiamare quella query e per farti tornare, il più semplicemente possibile, un Datatable.
Quindi, puoi creare una classe per andare a leggere dal database e questa classe potrebbe contenere a sua volta un metodo che torna un datatable (appunto il risultato della tua query). A questo punto puoi creare un altro WebMethod che stavolta torna Datatable nel quale, semplicemente, vai a chiamare il metodo che hai creato nell'altra classe (puoi anche fare a meno della classe che va a database, ma è molto più "elegante" e manutenibile avere più livelli).
Chiamando il web service dall'applicativo e nella fattispecie quel metodo otterrai un datatable che potrai assegnare alla proprietà DataSource del tuo grid.
Questa non è la strada migliore, perchè sarebbe meglio non usare datatable ma strutture definite da te che implementano opportune interfacce, ma per cominciare direi che è sufficiente. Ovviamente devi conoscere qualcosina di ADO.Net.

>Grazie a tutti.
di nulla!

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5