Inserire dati in un DB Access

domenica 27 marzo 2005 - 23.23

Psycho Profilo | Newbie

Salve a tutti!

Dal titolo thread si capisce che uso da pochissimo il VB.net sono un appassionato di VB6 ma dopo tanti ripensamenti mi sono deciso a passare al vb.net

Allora....


Sono giorni che provo ad inserire dati in un db access ma niente!!!

Il mio db risiede in C:\prova.mdb ed ha una tabella di nome tab con due campi A e B

L'unica cosa che sono riuscito a fare e mettere un DataAdapter e configuralo(cioè l'ho collegato al DB prova)
Poi sono riuscito anche a mettere un Dataset e anche questo lo configuarto.
Poi ho messo un datagrid sul form e l'ho collegato al dataset e fin qui tutto funziona!

ORA!!!!
Come diavolo si fa ad aggiungere/modificare/eliminare/salvare sti benedetti RECORD????


Ci Sto provando da stamattina ma niete mi sono anche comprato il libro di FRANCESO BALENA Progammare Microsoft Visual Basic .Net Versione 2003 € 75 ma niente!!!

Eppure con il VB6 facevo di tutto (non per vantarmi, ma per me era cosi semplice)


Grazie a tutti per l'interesse

Cteniza Profilo | Guru

Andiamo male.
Hai postato la stessa domanda anche su altri forum e hai già avuto una risposta che è riconducibile a "non è sufficiente comprare i manuali bisogna anche leggerli".

alextyx Profilo | Expert

Caro Psycho, io scelsi di rimanere con ADO, per poter usare il lock pessimistico. Se hai urgenza di manipolare qualcosa, puoi usare ADO anche tu, basta che tu aggiunga un riferimento alla adodb.net (almeno sulle versioni aggiornate di VS.Net, sulle precedenti era una COM). Altrimenti puoi usare delle Query di comando SQL, che dovrebbero svincolarti dagli oggetti di accesso ai dati con i quali ti stai scontrando e che io non conosco, se non di nome. Comunque, sono sicuro che una più attenta rilettura dei manuali ti porterà anche la soluzione del tuo problema con ADO.Net.. Come suggeriva cteniza, probabilmente ti è sfuggito un dettaglio. A volte capita di perdere giornate x una banalità che continua a celarsi ostinatamente al nostro sguardo, finchè nn ci si accorge che era proprio sotto i nostri occhi! Insistsi, uscirai vincitore!:-)

Psycho Profilo | Newbie

x Cteniza!!

Ho iniziato a leggere ma dato che di oltre 1200 pag. non vorrei leggermi tutto il manuale e poi rendermi conto che è meglio continuare con il VB6. Vorei solo capire se ne vale la pena passare a vb.net!

Per quanto riguarda il codice che mi hai fornito tu mi è stato di grande aiuto tranne che mi da un errore a questo punto
da.FillSchema(ds,"Tab", SchemaType.Mapped)
e non sono tiuscito ad andare avanti ma nonostante tutto ho iniziato a capire che ci varrà molto tempo per iniziare a scrivere qualke riga di codice sensato.

Grazie ancora

Psycho Profilo | Newbie

x Alextyx

"basta che tu aggiunga un riferimento alla adodb.net (almeno sulle versioni aggiornate di VS.Net, sulle precedenti era una COM). Altrimenti puoi usare delle Query di comando SQL, che dovrebbero svincolarti dagli oggetti di accesso ai dati con i quali ti stai scontrando"


Potresti dirmi come fare???
Nel frattempo inizio di nuovo a leggere in manuale!

Grazie a tutti

Cteniza Profilo | Guru

Ho sbagliato io
Va scritto:
da.FillSchema(ds, SchemaType.Mapped,"Tab")

Psycho Profilo | Newbie

Ora provo

Grazie mille Cteniza

alextyx Profilo | Expert

Caro Psycho, puoi aggiungere un riferimento da Progetto----> Aggiungi Riferimento.
A questo punto ti appare una lista di voci, di tre possibili liste. Seleziona la lista NET, cliccando sulla linguettina della scheda (avrà un nome ma ora nn mi viene :-)). La seconda voce, mi pare, dovrebbe essere 'adodb'. Lo clicchi e ti dovrebbe essere aggiunto ad una lista sottostante, che fino a quel momento sarà vuota, poi gli dai l'OK. A questo punto, se apri esplora soluzione e scompatti il nodo 'References', ci dovresti trovare anche 'adodb'. Se non lo avessi nella scheda dei NET, c'è una libreria nella scheda COM, mi pare sia la 'ActiveX Data Object ......2.7' o qualcosa del genere. Va bene anche quella, ma se hai il componente NET, è meglio. Dipende da quanto è aggiornato il tuo visual studio. Anzi, intanto aggiorna il sistema (XP?) e poi prova le operazioni che ti ho detto. Ciao.

Psycho Profilo | Newbie

Ho fatto tutto come dicevi tu!

Ora lo trovo sotto il nodo REFERENCES.

Ora che devo fare???

Scusa ma non ho capito tanto bene a cosa mi serve ora!


GRAZIE mille per l'aiuto

Cteniza Profilo | Guru

Se volete continuare ad utilizzare ADO perchè non continuate a farlo con vb6.
Pensare di programmare su .net utilizzando la sintassi di vb6 (e anche i suoi oggetti) è una cosa veramente ipocrita e illusoria.
Ottieni un oggetto che per essere installato ha bisogno sia del framework .sdk che del run time di visual basic e per di più con i difetti di entrambi.

Cteniza Profilo | Guru

Se volete continuare ad utilizzare ADO perchè non continuate a farlo con vb6.
Pensare di programmare su .net utilizzando la sintassi di vb6 (e anche i suoi oggetti) è una cosa veramente ipocrita e illusoria.
Ottieni un oggetto che per essere installato ha bisogno sia del framework .sdk che del run time di visual basic e per di più con i difetti di entrambi.

Psycho Profilo | Newbie

Caro Cteniza!

Il problema è che io vorrei continuare ad usare VB6 ma dove trovo la licenza????
Poi per i futuri OS come faccio???? Potrò continuare ad installare sempre le mie applicazioni fatte con VB6????

Se hai delle soluzione te ne sarei grato

ciaooo e grazie

Cteniza Profilo | Guru

Se la licenza di vb6 la cerchi sui newsgroup o sui forum certamente che non la trovi.
Prova a fare un abbonamento a msdn oppure compra vb.net e fai il downgrade.
Non credo che la difficoltà di reperimento di vb6 sia una scusa valida per la porcheria di utilizzare su vb.net gli oggetti di vb6.

Psycho Profilo | Newbie

Potresti gentilmente spiegarmi come fare il downgrade???

GRAZIE

alextyx Profilo | Expert

Caro Cteniza, come ho scritto 'adodb' ormai è un componente NET. Esso ha delle caratteristiche non fornite da ADO.Net, per quanto riguarda i locking. Do per scontato che tu sappia di cosa sto parlando, ovviamente. Comunque anch'io consiglio di utilizzare ADO.Net, o in alternativa SQL 'secco'! L'unico motivo per l'utilizzo di ADO è, o l'urgenza di riutilizzare un know how acquisito, o la volontà di mantenre una certa varietà di cursori lato server e la possibilità di locking pessimistici che non debbano esssere ottenuti con strane alchimie transazionali, come richiederebbe ADO.Net. L'utilizzo di ADO, non mi ha richiesto le runtime di VB per il deployment, comunque. Utilizzando database MDB, ho dovuto installare le MDAC e ovviamente il FRAMEWORK di VB.Net. Tutto qui! Ad ogni modo, il mio voleva solo essere un suggerimento volto ad addolcire una transizione che mi sembrava un tantino traumatica, ma che penso sia comunque foriera di buoni frutti, perchè VB.Net ha molte frecce al proprio arco, che non si esauriscono certo nell'utilizzo o meno di ADO.Net. Ma questa è un'altra storia! :-))
Buona notte atutti. Passo e chiudo (almeno x questo thread)!

Cteniza Profilo | Guru

Caro alextyx.
Quando dici "come ho scritto 'adodb' ormai è un componente NET." dici una cosa non vera.
>"Esso ha delle caratteristiche non fornite da ADO.Net, per quanto riguarda i locking."
L'unica cosa che non ha ado.net e non avrà mai è il binding diretto sul file così come era fatto con access con oggetti collegati direttamente sul database.
L'accesso diretto infatti va bene in limitatissimi casi di lavoro solitamente su multiutenza.
> L'unico motivo per l'utilizzo di ADO è, o l'urgenza di riutilizzare un know how acquisito
Allora rimani su vb6 che fai prima ancora, i vecchi ado e dao sono morti devi fartene una ragione
> o la volontà di mantenre una certa varietà di cursori lato server e la possibilità di locking pessimistici
>che non debbano esssere ottenuti con strane alchimie transazionali, come richiederebbe ADO.Net.
Anche il lock pessimistico non esiste più il modello di ado.net è disconnesso con il lock ottimistico
Personalmente utilizzo da sempre il timestamp e non ho trovato nessuna sgradevole sorpresa su ado.net nè ho mai utilizzato il lock pessimistico. A parte il fatto che in generale penso che non esiste nulla che abbia bisogno del lock pessimistico (a parte la competenza del programmatore nello sviluppo).
>L'utilizzo di ADO, non mi ha richiesto le runtime di VB per il deployment, comunque.
>Utilizzando database MDB, ho dovuto installare le MDAC e ovviamente il FRAMEWORK di VB.Net. Tutto qui!
Ecco è qui l'errore tu pensi che access sia l'unico database esistente e riconduci tutto il modello di sviluppo su di lui senza pensare che al mondo "tutti gli altri database" si comportano in modo diverso, il "diverso" è access o sono gli altri ad essere diversi ad affidarsi ad un modello disconnesso?.
>Ad ogni modo, il mio voleva solo essere un suggerimento volto ad addolcire una transizione che mi sembrava
>un tantino traumatica, ma che penso sia comunque foriera di buoni frutti
Sono nettamente contrario a quanto dici perchè non ho mai visto in nessun settore (soprattutto nel nostro) qualche cosa di più definitivo di una cosa "transitoria" (in grosse applicazioni se funziona nessuno va a rimetterci le mani per cui la scrittura deve essere sempre la più definitiva possibile).
>perchè VB.Net ha molte frecce al proprio arco, che non si esauriscono certo nell'utilizzo o meno di ADO.Net.
Si ma se gli togli ADO.NET e poi cominci a utilizzare anche gli OCX vecchi (come ho visto consigliare di fare) che cosa ottieni? Risposta: una emerita e grossa porcheria, una procedura ipocrita che fa finta di essere stata scritta con .net per convincere l'illuso programmatore che può mettere la conoscenza di .NET nel curriculum.

Cteniza Profilo | Guru

Per fare il downgrade a visual basic 6 da visual basic .net è necessario avere la licenza di vb.net e rivolgersi ad un rivenditore autorizzato microsoft per ottenere i supporti (cd/dvd) di vb6

Psycho Profilo | Newbie

Grazie Cteniza

basicdany Profilo | Expert

Scusate se mi inserisco nella discussione, ritornando al libro di francesco balena anchio inizialmente non risucivo a capirci molto, ma poi con un po di esempi presi da internet, piccole guide su ado, sono riuscito ad aprire un db e a leggere, scrivere, modificare un record.... , allora ho letto il libro......Ciao
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5