Problemi update dati su DB Access

lunedì 01 giugno 2009 - 11.28

dolceamaro Profilo | Newbie

Salve, ho creato un DB access "dbCond" con una tabella "TabCond" con 4 colonne, e sto sviluppando su "Visual c# 2008 Express Edition".
inserendo il db nell'applicazione si è creato in automatico il DATASET, inoltre
ho creato un pulsante che fa eseguire il seguente codice:

Data.dbCondDataSet ds = new Data.dbCondDataSet();
Data.dbCondDataSetTableAdapters.TabCondTableAdapter tab = new Data.dbCondDataSetTableAdapters.TabCondTableAdapter();
tab.Fill(ds.TabCond);
tab.Insert("descri", "indi", "roma", "rm");
tab.Update(ds);

Ma alla fine del codice sul db non risulta che sia stata creata la riga, invece risulta presente nella TableAdapters.
Ho messo questo codice ed il db dentro un web application usando "Visual Web Developer 2008 express" invece in questo caso viene creata la riga.
In cosa sbaglio?
Grazie

Jeremy Profilo | Guru

Ciao.
In quale Db cerchi le modifiche???
Se sei in debug, prova a guardare nel DataBase che risiede in Bin/Debug/.

Facci sapere....
Ciao

dolceamaro Profilo | Newbie

Cioa,
faccio partire l'applicazione con "Avvia senza eseguire il debug" e mi aspetto che vengano create le righe sul db access verso cui punta la STRINGA di CONNESSIONE e non invece quelli dentro BIN/DEBUG o BIN/RELEASE, perchè quando faccio ripartire l'applicazione questi vengono sovrascritti con quello presente nella stringa di connessione che è senza righe.

Jeremy Profilo | Guru

Puoi mostrare la stringa di connesione?

dolceamaro Profilo | Newbie

nel file Setting.setting risulta
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbEsempio.mdb
e selezionando sulle proprietà risulta il nome file Database:
C:\Documents and Settings\user\Documenti\Visual Studio 2008\Projects\WindowsFormsCond\WindowsFormsCond\dbEsempio.mdb

Jeremy Profilo | Guru

Ciao.
Come pensavo, questa stringa, in certo senso, è dinamica.
Voglio dire ....il valore di |DataDirectory|, rappresenta il percorso dell'applicazione nel momento dell'esecuzione.
Se lanci l'eseguibile che trovi nella cartella Debug, il percorso dell'applicazione sarà:
PercorsoApplicazione/Bin/Debug.
Se invece lanci l'eseguibile che trovi nella cartella Release, il percorso dell'applicazione diventerà:
PercorsoApplicazione/Bin/Release.
Se vuoi puntare ad un Db specifico sempre e comunque, devi modificare la stringa di connessione specificandone il percorso(almeno in fase di Debug dell'applicazione).
Quindi:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\user\Documenti\Visual Studio 2008\Projects\WindowsFormsCond\WindowsFormsCond\dbEsempio.mdb

In questo caso punterai sempre al db presente nel percorso specificato.

Facci sapere...
Ciao

dolceamaro Profilo | Newbie

Grazie ho cambianto la stringa come da te consigliato e funziona
grazie
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