View Full Version : Distribuire programmi con database .mdb
martino.ugolini
30-01-2010, 18:57
Salve,
Ho appena finito un programmino per imparare i vocaboli, in cui uso un database .mdb. Ora ho dato a un paio di compagni di scuola il prgramma per testarlo, e si sono rilevati due problemi:
1. Da uno mancava il framework 3.5, e lo ha dovuto cercare scomodamente in internet
2. Un altro non ha il pacchetto office (E così neanche access), e il programma non gli funziona (Forse per questo).
Com faccio a fare un pacchetto di installazione che installa automaticamente il framework 3.5, e che faccia funzionare queso database???
AIUTATEMI!!!!, e grazie in anticipo
se hai fatto un programma che vuoi distribuire secondo me se partito col piede sbagliato ... potresti usare uno dei tanti database che sono multios , nn richiedono installazione e sono gratis. Ti posso consigliare hqsqldb che ho usato io ... oppure fai una ricerca su internet e trovane uno che più si addice al caso tuo ;-)
martino.ugolini
31-01-2010, 19:26
grazie vladix per la dritta, ma fammi capire bene (Non sono troppo esperto con i database): Ci sono database come oledb o sql server compact, che bisogna pagare per poterli usare, o che neccessitano di qulache software per funzionare sul PC. E fin qui ci siamo. Adesso ci sono tipi di database, che non neccessitano di tutto questo (Che farebbe proprio il caso mio). Ma con quale programma posso creare questo database??? E come faccio a farlo funzionare con visual basic 2008??? Mi puoi dare una guida per questo database hsqldb???
Scusate la mia ignoranza, ma tutto quello che so di database lo so da internet, e con ciò non sono neacnche lontanamente un esperto
Grazie dinuovo per la risposta
Mattyfog
31-01-2010, 19:37
vai di sqlite o magari mysql
martino.ugolini
31-01-2010, 19:54
Allora, se io usassi un database sqllite o mysql l'utente non avrebbe bisogno di nessun requisito per funzionare???? Ma come faccio a creare un database sqlite???
la versione "no-install" di mysql pesa 200 mb , sqlite nn lìho mai usato ma dovrebbe essere meglio ( lascio la parola agli esperti ) .
X quanto riguarda il modo di connetterti dovrebbe essere semplice : x prima cosa avvi il server db ( dal tuo programma ) e poi ti connetti + o - come fai con access . NN ti so dire essattamente come xche vb lo conosco poco e niente ( un altra volta lascio la parola agli esperti ) ... cmq se fai una ricerca su internet trovi un sacco di roba :D
martino.ugolini
01-02-2010, 09:13
Sono, penso, riuscito a creare un database sqlite, usando sqlite admin, ma adesso non riesco a usarlo con visual basic, perchè non mi trova system.data.sqlite. Non c'è una qulche guida che spieghi come collegarsi a sqlite, o potete fare un esempio veloce???
grazie
Sono, penso, riuscito a creare un database sqlite, usando sqlite admin, ma adesso non riesco a usarlo con visual basic, perchè non mi trova system.data.sqlite. Non c'è una qulche guida che spieghi come collegarsi a sqlite, o potete fare un esempio veloce???
grazie
Devi avere anzitutto a disposizione il provider SQLite per .NET, perchè System.Data.Sqlite non è nel FW standard. Se l'hai già fatto lo devi referenziare, altrimenti lo scarichi, ad esempio qui :
http://sourceforge.net/projects/sqlite-dotnet2/
Guide di base VB.NET-Sqlite ce ne sono parecchie. Qui ne trovi una veloce :
http://www.kirupa.com/net/sqllite_vb_pg1.htm
E sulla seconda pagina c'è il sorgente del progetto di prova... ;)
Salve,
Ho appena finito un programmino per imparare i vocaboli, in cui uso un database .mdb. Ora ho dato a un paio di compagni di scuola il prgramma per testarlo, e si sono rilevati due problemi:
1. Da uno mancava il framework 3.5, e lo ha dovuto cercare scomodamente in internet
2. Un altro non ha il pacchetto office (E così neanche access), e il programma non gli funziona (Forse per questo).
In ogni caso, viste le tue esigenze, e dato che usi .NET, non capisco la solita tiritera di commenti anti-Access.
- Se l'utente ha un normalissimo WinXP ( basta anche solo un Win2000 con SP4 ), o superiore, non c'è alcun bisogno di avere Access installato affinchè VB.NET possa farne uso.
- La ricerca e installazione del framework non è affatto "scomoda". E' normale che vada installato sulle macchine che devono eseguire applicazioni .NET, non ci vedo niente di trascendentale...
martino.ugolini
01-02-2010, 15:12
Grazie MarcoGG e Vladix, ho provato di già un po', e sembra funzionare. Adesso dovrò quasi riscrivere il programma da capo, ma di sicuro non mi farà male:) . MarcoGG, a me access non da fastidio, il problema è che quelli che useranno il programma spesso non sanno nemmeno la differenza tra programma e OS, e non mi sanno dire se hanno XP o Vista. Per questo volevo riuscire a fare un programma/ pacchetto installazione il più possibile autonomo.
Di nuovo grazie per l'aiuto!!!:D
MarcoGG, a me access non da fastidio, il problema è che quelli che useranno il programma spesso non sanno nemmeno la differenza tra programma e OS, e non mi sanno dire se hanno XP o Vista. Per questo volevo riuscire a fare un programma/ pacchetto installazione il più possibile autonomo.
E con ciò ? Non mi risulta affatto che in Vista o Win7 che sia, VB.NET non sia in grado di utilizzare il DB .mdb senza che sia installato Access... :mbe:
Assicurati di usare il provider di dati System.Data.OleDb con Access, e non Microsoft ActiveX Data Objects.
giannola
01-02-2010, 19:59
In ogni caso, viste le tue esigenze, e dato che usi .NET, non capisco la solita tiritera di commenti anti-Access.
- Se l'utente ha un normalissimo WinXP ( basta anche solo un Win2000 con SP4 ), o superiore, non c'è alcun bisogno di avere Access installato affinchè VB.NET possa farne uso.
- La ricerca e installazione del framework non è affatto "scomoda". E' normale che vada installato sulle macchine che devono eseguire applicazioni .NET, non ci vedo niente di trascendentale...
access è limitato per applicazioni di una certa consistenza, fino a qualche anno fa (ma mi sembra che sia ancora così) ad esempio le tabelle erano limitate a 4gb.
Se si cerca qualcosa di professionale access non è il db giusto per interfacciarsi, al limite dovrebbe poter scaricare gratuitamente sql server express che è il massimo dell'integrazione in .net. ;)
access è limitato per applicazioni di una certa consistenza, fino a qualche anno fa (ma mi sembra che sia ancora così) ad esempio le tabelle erano limitate a 4gb.
Se si cerca qualcosa di professionale access non è il db giusto per interfacciarsi, al limite dovrebbe poter scaricare gratuitamente sql server express che è il massimo dell'integrazione in .net. ;)
Sei male informato allora. Access ha sempre il solito limite di 2 GB per file .mdb o .accdb ( Access 2007 ).
Sul fatto che Access non sia "professionale" avrei più di un esempio che ribalta questo pre-concetto. Parlo di applicativi stand-alone che ho visto personalmente in ditte di un certo spessore. Se una ditta fa soddisfacente uso di Access in un ambito professionale, allora, in quell'ambito, Access è professionale.
Parlando poi dello scopo dichiarato dall'utente che ha aperto il Thread : "programmino per imparare i vocaboli", sviluppato in VB.NET, non vedo proprio perchè mai Access non vada bene. Se non c'è concorrenza in scrittura, come penso sia il caso ( 1 pc > 1 applicativo > 1 DB .mdb ), l'esagerazione semmai è arrivare a consigliare MySql o Sql Server.
Se non c'è concorrenza, non solo in lettura imho, Access ha ancora senso come database standalone.
Anche se attualmente tenderei a preferire sqlite.
Se invece si cercano funzionalità più avanzate riguardo alle funzioni e al dialetto SQL e magari la possibilità di gestire un carico di lavoro molto alto, allora comincia ad avere senso SQL Server Express.
vai di sqlite o magari mysql
Un DBMS (MySQL, ma anche SQL Server Express) per un database di un semplice programma lo vedo come sparare ad una farfalla con un cannone ;)
In ogni caso, a parte il framework 3.5, credo che tu possa fare a meno di installare Office usando: http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed
Quale versione di Office stai usando ?
giannola
02-02-2010, 09:22
Sei male informato allora. Access ha sempre il solito limite di 2 GB per file .mdb o .accdb ( Access 2007 ).
ricordavo per eccesso... meno ancora quindi. :D
E direi che in questo caso è un limite da non prendere sotto gamba perchè imparare i vocaboli potrebbe richiedere davvero uno spazio non indifferente. :)
Sul fatto che Access non sia "professionale" avrei più di un esempio che ribalta questo pre-concetto. Parlo di applicativi stand-alone che ho visto personalmente in ditte di un certo spessore. Se una ditta fa soddisfacente uso di Access in un ambito professionale, allora, in quell'ambito, Access è professionale.
Non ho preconcetti ho usato access anche per fare applicazioni di un certo spessore.
In generale però pensando sempre di ampliare il proprio software è meglio prevedere l'utilizzo di un db più performante per non doversi trovare in futuro a trasferire i dati e ricreare le relazioni. ;)
Immagina se il programmino debba cominciare ad interagire con molti utenti contemporaneamente
per avere una idea
http://www.databasedev.co.uk/access_specifications.html
Parlando poi dello scopo dichiarato dall'utente che ha aperto il Thread : "programmino per imparare i vocaboli", sviluppato in VB.NET, non vedo proprio perchè mai Access non vada bene. Se non c'è concorrenza in scrittura, come penso sia il caso ( 1 pc > 1 applicativo > 1 DB .mdb ), l'esagerazione semmai è arrivare a consigliare MySql o Sql Server.
Si va bene partire dal programmino, ma è anche corretto pensare anche con un pò di lungimiranza e quindi fornire la possibilità di espansione al programmino. :)
Se non c'è concorrenza, non solo in lettura imho, Access ha ancora senso come database standalone.
Anche se attualmente tenderei a preferire sqlite.
Se invece si cercano funzionalità più avanzate riguardo alle funzioni e al dialetto SQL e magari la possibilità di gestire un carico di lavoro molto alto, allora comincia ad avere senso SQL Server Express.
:O
Il numero di utilizzatori concorrenti a 255 è solo teorico, perché oltre i 5 diventa tutto estremamente lento ;)
martino.ugolini
02-02-2010, 10:13
Salve,
Io ho office 2007, con cui ho creato il database. Il probblema non sono io: Il problema è che chi userà il programma spesso non ha alcun pacchetto office, oppure open office. Il database verrà sempre installato sul computer dell'utente, e verrà utilizzato da una persona alla volta (Per le prestanzioni non ho mai avuto motivo di lamentarmi con access). Io volevo soltanto un database portatile, che non richiedesse qualsiasi prerequisito (tranne .net framework 3.5) per funzionare.
Lo so che il problema non sei te, ma io devo sapere a quale versione di office appartiene il database altrimenti non posso consigliarti cosa ti serve.
Sui computer che non hanno Office ti serve anche il runtime di office 2007, te l'ho linkato sopra.
giannola
02-02-2010, 10:37
Salve,
Io ho office 2007, con cui ho creato il database. Il probblema non sono io: Il problema è che chi userà il programma spesso non ha alcun pacchetto office, oppure open office. Il database verrà sempre installato sul computer dell'utente, e verrà utilizzato da una persona alla volta (Per le prestanzioni non ho mai avuto motivo di lamentarmi con access). Io volevo soltanto un database portatile, che non richiedesse qualsiasi prerequisito (tranne .net framework 3.5) per funzionare.
scusami ma in tutto ciò vedo un problema....
se tu hai fatto un programma che impara i vocaboli, perchè vuoi installare un db su ogni client ?
In questo modo ognuno dovrà istruire il programma da zero, tutti avranno un diverso grado di sviluppo e differenti problematiche.
Non sarebbe meglio fare in modo che il programma si colleghi ad un db server ?
In questo modo lo sviluppo sarebbe centralizzato, tutti potrebbero fornire il contributo, velocizzerebbero l'apprendimento dei vocaboli e inoltre tu non avresti lo scazzo di dover inserire componenti aggiuntivi. ;)
martino.ugolini
02-02-2010, 11:15
cionci: Io uso un database .mdb, ma se questo è il probblema, faccio presto a farne uno .accdb.
giannola: Lo so che così sarebbe molto più pratico. Il probblema è che proprio non saprei da dove incominciare per creare un database del genere. Io so solo creare database e fare con visual basic semplici comandi sql. non so proprio come fare un database che potrebbero condividere tutto
cionci: Io uso un database .mdb, ma se questo è il probblema, faccio presto a farne uno .accdb.
Non dovrebbe cambiare assolutamente niente. Dovrebbe servire comunque il runtime di Access 2007 sul PC sul quale andrai ad installare il software.
Un DBMS (MySQL, ma anche SQL Server Express) per un database di un semplice programma lo vedo come sparare ad una farfalla con un cannone ;)
In ogni caso, a parte il framework 3.5, credo che tu possa fare a meno di installare Office usando: http://www.microsoft.com/downloads/details.aspx?displaylang=it&FamilyID=d9ae78d9-9dc6-4b38-9fa6-2c745a175aed
Quoto per la farfalla & il cannone.
Probabilmente è proprio a causa del formato .accdb di Access 2007 che qualcuno non riesce a farlo funzionare. In tal caso l'Access Runtime 2007 dovrebbe risolvere.
E direi che in questo caso è un limite da non prendere sotto gamba perchè imparare i vocaboli potrebbe richiedere davvero uno spazio non indifferente. :)
Mah, tutto sta a sapere cosa significa "programma che impara i vocaboli". Un dizionario ? Una tabella con due colonne "Vocabolo"-"Significato" ?
Secondo me ci vuole qualche anno prima di arrivare a 2 GB.
Detto questo, io per primo storco il naso davanti al limite dei 2 GB, e mi chiedo quando mai Ms farà qualcosa per superarlo.
In generale però pensando sempre di ampliare il proprio software è meglio prevedere l'utilizzo di un db più performante per non doversi trovare in futuro a trasferire i dati e ricreare le relazioni. ;)
Immagina se il programmino debba cominciare ad interagire con molti utenti contemporaneamente
per avere una idea
http://www.databasedev.co.uk/access_specifications.html
...
Si va bene partire dal programmino, ma è anche corretto pensare anche con un pò di lungimiranza e quindi fornire la possibilità di espansione al programmino. :)
E' il solito vecchio discorso, la solita storia che salta fuori su N thread quando qualcuno chiede qualcosa di preciso. Allora "in-previsione-di" consigliamo Oracle, e buonanotte.
Salve,
Io ho office 2007, con cui ho creato il database. Il probblema non sono io: Il problema è che chi userà il programma spesso non ha alcun pacchetto office, oppure open office. Il database verrà sempre installato sul computer dell'utente, e verrà utilizzato da una persona alla volta (Per le prestanzioni non ho mai avuto motivo di lamentarmi con access). Io volevo soltanto un database portatile, che non richiedesse qualsiasi prerequisito (tranne .net framework 3.5) per funzionare.
Allora usa pure Access con System.Data.Oledb.
Se puoi lascia perdere il formato .accdb e crea un DB compatibile con 2003 ( .mdb ). Usato come semplice serbatoio-dati, non perdi proprio nulla, anche perchè il limite è sempre di 2 GB. Ne guadagni invece in retro-compatibilità.
Se invece resti su .accdb ( formato 2007 ) prova senz'altro ad usare l'Access Runtime linkato da cionci.
Non sarebbe meglio fare in modo che il programma si colleghi ad un db server ?
In questo modo lo sviluppo sarebbe centralizzato, tutti potrebbero fornire il contributo, velocizzerebbero l'apprendimento dei vocaboli e inoltre tu non avresti lo scazzo di dover inserire componenti aggiuntivi. ;)
Rendere disponibile un DB server su internet è molto costoso e poco sicuro. Credo che sia più semplice studiare un sistema per distribuire gli aggiornamenti del db ;)
martino.ugolini
02-02-2010, 12:11
Proverò con il runtime di access 2007 linkatomi da cionci, e appena ricomincia la scuola lo faccio provare ai miei amici.*
MarcoGG: Il programma è semplice: Tu inserisci i vocaboli e il significato, esempio: (to) work --> lavorare. Poi il programma sa fare due cose: 1. Ti mischia i vocaboli e te li chiede, e alla fine dice all'utente quanti ne ha fatti giusti/sbagliati, e quali ne ha fatti sbagliati.
2. Ti fa un piccolo test a tempo (L'utente decide se vuole avere un tempo semplice/medio/difficile) e alla fine il programma gli da un voto
*(Vivo in germania, e ora abbiamo ferie:D )
cionci: Io uso un database .mdb, ma se questo è il probblema, faccio presto a farne uno .accdb.
Il problema è l'esatto contrario. Le novità di Access 2007 riguardano al 99% l'applicativo-Access, non il DB in sè.
Se l'accesso al DB avviene per via programmatica dall'esterno ( ad esempio con VB ), non ci guadagni niente.
Perciò se crei un .mdb con "formato file Access 2000" molto probabilmente risolvi ogni problema di incompatibilità.
Alla fine che tu usi un .mdb di Access 2000 o 2003, o un .mdb o .accdb di 2007, per te non cambia nulla, ma se "tieni bassa" la versione riduci a zero i rischi di incompatibilità con macchine che non hanno Access installato.
Tempo fa ho fatto diverse prove con macchine virtuali, proprio con VB.NET e Access 2003 ( .mdb formato 2000 ) e ricordo che ad esempio con un Win2000 SP4 liscio ( solo con il Framework .NET ) non avevo problemi e non era nemmeno necessario aggiornare Mdac...
Proverò con il runtime di access 2007 linkatomi da cionci, e appena ricomincia la scuola lo faccio provare ai miei amici.*
MarcoGG: Il programma è semplice: Tu inserisci i vocaboli e il significato, esempio: (to) work --> lavorare. Poi il programma sa fare due cose: 1. Ti mischia i vocaboli e te li chiede, e alla fine dice all'utente quanti ne ha fatti giusti/sbagliati, e quali ne ha fatti sbagliati.
2. Ti fa un piccolo test a tempo (L'utente decide se vuole avere un tempo semplice/medio/difficile) e alla fine il programma gli da un voto
Se hai il DB vuoto e sei all'inizio, prova ugualmente la strada del DB formato Access 2000. Se risolvi, come penso, non hai nemmeno bisogno del runtime. ;)
MarcoGG: Il programma è semplice: Tu inserisci i vocaboli e il significato, esempio: (to) work --> lavorare. Poi il programma sa fare due cose: 1. Ti mischia i vocaboli e te li chiede, e alla fine dice all'utente quanti ne ha fatti giusti/sbagliati, e quali ne ha fatti sbagliati.
2. Ti fa un piccolo test a tempo (L'utente decide se vuole avere un tempo semplice/medio/difficile) e alla fine il programma gli da un voto
Infine ( chiedo scusa per il triplo post ), se vuoi cogliere la palla al balzo ed impararti un po' di interazione VB-XML, considera anche che un DB così semplice ( in pratica hai una tabella sola con 3 colonne, se consideriamo anche un ipotetico campo-Id ) lo potresti avere in un singolo file Xml. Nessun DB, nessun provider di dati, nessun problema... ;)
Se hai il DB vuoto e sei all'inizio, prova ugualmente la strada del DB formato Access 2000. Se risolvi, come penso, non hai nemmeno bisogno del runtime. ;)
In teoria c'è comunque bisogno del runtime, anche per Access 2000. Bisogna installare MSADODC in quel caso.
In teoria c'è comunque bisogno del runtime, anche per Access 2000. Bisogna installare MSADODC in quel caso.
Ho fatto proprio ora un test su macchina virtuale con WinXP Pro SP2.
Test scontato, ma l'ho fatto lo stesso. :p
Sul sistema Guest c'è solo Win con il Framework .NET. Ho usato una mia applicazione scritta in VB.NET che esegue varie operazioni su un DB Access .mdb in formato Access 2000, quindi Select, Insert, Update, Delete.
Nessun problema, e ricordo fosse così anche per Win2000 SP4, perciò non vedo alcun bisogno di aggiornamenti MDAC.
martino.ugolini
02-02-2010, 19:42
Tutto ciò è strano: Dal mio amico, che ha wind. vista e il framework 3.5 (Ne sono sicuro perchè programma anche lui programma con VB) non funziona, e qualsiasi comando SQL fa errore.
Ma se voglio dargli il runtime di access, devo dargli quello linkatomi da cionci per office 2007, o ce nè uno anche per access 2003 (se uso un database .mdb!)???
Tutto ciò è strano: Dal mio amico, che ha wind. vista e il framework 3.5 (Ne sono sicuro perchè programma anche lui programma con VB) non funziona, e qualsiasi comando SQL fa errore.
Ma se voglio dargli il runtime di access, devo dargli quello linkatomi da cionci per office 2007, o ce nè uno anche per access 2003 (se uso un database .mdb!)???
Al momento non posso fare prove su Vista. Intanto :
1. Se puoi metti da parte Access 2007, usa Access 2000 o 2003 e crea un .mdb formato Access 2000.
2. Da VB NON usare il vecchio ADO ( ActiveX Data Access Components ), ma solo ADO.NET in tutte le transazioni, ossia System.Data.Oledb.
3. Ovviamente la connection string verso il file .mdb NON utilizzerà più "Provider=Microsoft.ACE.OLEDB.12.0", ma sarà quella solita, utilizzata in tutte le versioni di Access fino alla 2003, ad esempio :
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;
martino.ugolini
03-02-2010, 16:59
Conoscete qualche programma per fare i pacchetti di installazione, che installerebbe i prerequisiti (access runtime e .net framework) automaticamente??? Il programma dovrebbe essere gratis
ma perchè usare access e costringere l'utente di appesantire il pc con un sacco di robaccia che magari alla fine gli serve solo x fa gira sto programma ? :ncomment:
Vabbeh, questo thread mi ha rotto. :D
Fermo restando che non vedo come Vista possa creare tutti sti problemi tra Access e VB.NET ( appena ho l'occasione provo anch'io... ), butto giù un esempio veloce di DB XML, quindi niente Access, niente runtime, niente di niente, solo VB.NET secco con il suo framework.
> Dichiarazioni locali :
Private DS As New DataSet
Private percorsoXml As String = Application.StartupPath & "\"
Private nomeFileXml As String = "Vocabolario.xml"
> Lettura o creazione ex-novo del file Xml ( Form Load ) :
DS.Tables.Add("Vocabolario")
Dim Vocabolo As New System.Data.DataColumn
Vocabolo.AllowDBNull = False
Vocabolo.ColumnName = "Vocabolo"
Vocabolo.DataType = System.Type.GetType("System.String")
Vocabolo.Unique = True
DS.Tables(0).Columns.Add(Vocabolo)
Dim Traduzione As New System.Data.DataColumn
Traduzione.AllowDBNull = False
Traduzione.ColumnName = "Traduzione"
Traduzione.DataType = System.Type.GetType("System.String")
Traduzione.Unique = False
DS.Tables(0).Columns.Add(Traduzione)
If My.Computer.FileSystem.FileExists(percorsoXml & nomeFileXml) Then
DS.ReadXml(percorsoXml & nomeFileXml)
Else
DS.WriteXml(percorsoXml & nomeFileXml)
End If
DS.AcceptChanges()
> Una Select :
lst_xml.Items.Clear()
For Each DR As DataRow In DS.Tables(0).Select("Vocabolo='Auto'")
lst_xml.Items.Add(DR("Vocabolo") & " > " & DR("Traduzione"))
Next
> Una Select su indice :
Dim indice As Integer = 1
Try
Dim DR As DataRow = DS.Tables(0).Rows(indice)
MsgBox(DR("Vocabolo") & " > " & DR("Traduzione"))
Catch ex As Exception
If TypeOf ex Is IndexOutOfRangeException Then MsgBox("Indice non valido.")
End Try
> Una Insert :
Dim nuovaRiga As DataRow = DS.Tables(0).NewRow
nuovaRiga("Vocabolo") = "Auto"
nuovaRiga("Traduzione") = "Car"
Try
DS.Tables(0).Rows.Add(nuovaRiga)
Catch ex As Exception
If TypeOf ex Is ConstraintException Then MsgBox("Vocabolo già presente in elenco. Inserimento annullato.")
Exit Sub
End Try
If DS.HasChanges = True Then
DS.WriteXml(percorsoXml & nomeFileXml)
MsgBox("Xml aggiornato.")
End If
> Una Update :
For Each DR As DataRow In DS.Tables(0).Rows
If DR("Vocabolo") = "Auto" Then
Try
DR("Vocabolo") = "Automobile"
Catch ex As Exception
If TypeOf ex Is ConstraintException Then MsgBox("Vocabolo già presente in elenco. Aggiornamento annullato.")
End Try
Exit For
End If
Next
If DS.HasChanges = True Then
DS.WriteXml(percorsoXml & nomeFileXml)
MsgBox("Xml aggiornato.")
End If
> Una Delete :
For Each DR As DataRow In DS.Tables(0).Rows
If DR("Vocabolo") = "Auto" Then
DS.Tables(0).Rows.Remove(DR)
Exit For
End If
Next
If DS.HasChanges = True Then
DS.WriteXml(percorsoXml & nomeFileXml)
MsgBox("Xml aggiornato.")
End If
E buonanotte al secchio. :p
martino.ugolini
05-02-2010, 08:57
Grazie a tutti voi per l'aiuto. Vladix, avevi ragione: Sono partito conl piede sbagliato. Adesso metto a posto il codice (O meglio riscrivo tutto da capo).
Non so proprio come ringraziarvi.:D :D :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.