Aiuto per iniziare

mercoledì 02 luglio 2014 - 10.26
Tag Elenco Tags  VB.NET  |  Windows 7  |  Visual Studio Express  |  Office 2010  |  Internet explorer 8.0

mabias Profilo | Newbie

Salve a tutti, sto iniziando ad interessarmi alla programmazione in VB express. non ho basi scolastiche in merito ma mi piace leggere ed informarmi anche sul web. ora sono in difficoltà con il salvataggio e relativo recupero dei dati, ho provato a cercare nei vari siti ma gli esempi riportati erano già troppo complessi. e sono qui a chiedere il vostro aiuto. in pratica vorrei realizzare un form composto da una text box, una combo box ed un bottone. all'avvio dell'applicazione tutte le caselle sono vuote, inserisco un dato nella text box e, alla pressione del pulsante, lo stesso dato si deve trasferire nella combo box. fino qua abbastanza semplice, la difficoltà che incontro è quella di fare in modo che, alla chiusura e successiva riapertura dell'applicazione, il dato inserito precedentemente sia presente nella combobox e, inserendone un'altro nella textbox, questo si dovrebbere aggiungere a quello già presente e così via. ho provato a creare un database con dataset ma gli esempi che ho trovato tralasciano forse alcune cose che, molto probabilmente, sono date per scontate e, insomma, mi trovo sempre con qualche errore nel salvare il dato nelle tabelle. c'è qualche anima buona che può, con un esempio di livello elementare, aiutarmi a capire come si salva e si recupera un dato in un DB locale.
grazie a tutti per la pazienza.

a presto


Maurizio

0v3rCl0ck Profilo | Guru

Per l'accesso al database di suggerisco di utilizzare Entity Framework 6.

Prova a seguire questo tutorial fatto veramente bene, step by step:

http://www.mikesdotnetting.com/Article/241/MVC-5-with-EF-6-in-Visual-Basic-Creating-an-Entity-Framework-Data-Model

poi questo tratta di un sito asp.net, se hai un applicazione windows form, sostituisci la parte "Create an MVC Web Application" creando la tua applicazione winforms, come avrai già fatto, questa sezione "Set Up the Site Style" non ti interessa, partendo da "Install Entity Framework 6" è completamente identico su winforms. Nella sezione "Creating a Student Controller and Views" trovi come riesci a fare le chiamate a db, ovviamente tutto il resto non ti interessa.

Alla fine le tue chiamate a db si riducono a poche righe di codice:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

altrimenti l'altro approccio senza entity framework, è l'utilizzo di quello che sta alla base di EF, e cioè ADO.NET, sfruttando gli oggetti:

SqlConnection (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx)
SqlCommand (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx)
SqlDataReader (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx)

un consiglio: evita i DataTable, a favore di un approccio più object oriented, creandoti tante classi quante sono le entità che devi salvare (utenti, libri, studenti, corsi, ...)

se inizi con EF (entity framework), forse rischi di non vedere/studiare i concetti base di ADO.NET, ma dall'altra parte sei forzato a lavorare con un modello di classi che descrivono perfettamente le tue entità, e per me è la base di un buon modello di salvataggio dati. Io pur avendo progetti che sfruttano ADO.NET invece che EF, ho comunque la stessa modellazione classi che viene suggerita da EF, infatti potrei passare da ADO.NET a EF in ogni momento.




Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

0v3rCl0ck Profilo | Guru

eccoti un esempio funzionante in vb.net


Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic

Davide1986 Profilo | Junior Member

Un alternativa al progetto di 0v3rCl0ck sempre che utilizza Entity Framework 6 ,

Download Progetto : http://www.mediafire.com/download/x5dl3xvhjnczrb5/SimpleDatabaseLocal.rar

Comunque se hai problemi posta il codice e scrivi gli errori che ti appaiono.



Blog ImaginSystems
http://blogs.dotnethell.it/imaginsystems
http://www.alpacasrl.it

mabias Profilo | Newbie

Grazie per le pronte risposte, leggerò con cura quanto mi avete suggerito. vi metterò al corrente dei progressi e, in caso di dubbi, posterò anche il codice.

a presto

Maurizio

mabias Profilo | Newbie

grazie ai vostri suggerimenti sono riuscito ad ottenere ciò che volevo, ora, come si dice l'appetito vien mangiando, avrei un altro quesito, anche qui ho cercato di documentarmi ma non riesco a trovare la giusta soluzione. da una applicazione winform dovrei, pigiando un bottone inviare un ping verso un determinato indirizzo IP, magari digitato in precedenza in una textbox, e, soprattutto vedere la risposta del destinatario. ho provato tramite una shell a far aprire la finestra dos, ma una volta aperta non so come fare in modo che effettui il ping, visualizzando la risposta. ho anche provato con system,networkinformation ma inviato il ping riesco ad ottenere in risposta solo se il ping è andato a buon fine o meno. invece io ho bisogno proprio di monitorare per un certo tempo il comportamento della linea dati. praticamente si tratta di automatizzare l'apertura della finestra dos, inserire il ping con l'indirizzo di destinazione con il suffisso -t e chiudere il tutto a controllo effettuato.
ancora grazie per l'aiuto dato e per quello futuro

a presto

maurizio

0v3rCl0ck Profilo | Guru

ciao, c'è una libreria in .net che fa al caso tuo:

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping(v=vs.110).aspx

questa domanda è fuori contesto dell'attuale post, la prossima volta apri un nuovo post con la nuova domanda, è utile anche per gli altri che potrebbero avere il tuo stesso problema.


Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5