Visual Basic 2010 Express Access 2000

martedì 13 luglio 2010 - 15.34

clod_mar Profilo | Newbie

Per Hobby studio informatica, mi piace molto, ho sempre usato VB6, ma mi sono spostato nel Visual Basic 2010 Express ho notato che gestisce meglio la memoria e che posso usare più o meno le stesse sintassi del vb6, mi diverto elaborare Dati del WinForLife, ho una licenza di Access 2000, quindi uso sempre lo stesso per creare un Database, vengo al dunque, con Visual Basic 2010 Express collegando il Database di Access, ho notato un comportamento strano, quando elaboro i Dati non restano memorizzati, riavviando l’ applicazione mi azzera tutto, è forse una limitazione perché questa versione e gratuita?

Revan1985 Profilo | Junior Member

non è una limitazione...
Se stai usando un datareader, devi "committare" le modifiche sul database, o salvare i dati.
E' per questo che non restano in memoria.

Ti aiuterei col codice, ma non uso VB2010

Non c'è emozione; c'è pace.
Non c'è ignoranza; c'è conoscenza.
Non c'è inquietudine; c'è serenità.
Non c'è caos; c'è armonia.
Non c'è morte; c'è la Forza.

clod_mar Profilo | Newbie

Ti ringrazio comunque, mi hai già aiutato dicendomi che non è una limitazione, cosi non perdo tempo a capirci qualcosa, grazie ancora, ora vedo di studiarci sopra.

alx_81 Profilo | Guru

>Ti ringrazio comunque, mi hai già aiutato dicendomi che non è
>una limitazione, cosi non perdo tempo a capirci qualcosa, grazie
>ancora, ora vedo di studiarci sopra.
Ciao e benvenuto su dotnethell.it!
facciamo così, prova a postarci il codice che usi per manipolare quei dati. Così vediamo come farti salvare i dati su access alla fine

--
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

clod_mar Profilo | Newbie

Quando si è alle prime armi si fanno domande redicole lo so, portate pazienza.

Ho fatto un piccolo programma
che pilota un DataBase di Access, con relazione uno a molti, come collegamenti ho usato:

DataSet
TableAdapter
BindingSource
TableAdapterManager
2 DataGridView per visualizzare i dati,

quando clicco il polsante Nuovo Record, usando il seguente codice BindingSource.AddNew(), perche i valori degli ID risultano -1 al posto del vero numero record? grazie

alx_81 Profilo | Guru

>quando clicco il polsante Nuovo Record, usando il seguente codice
>BindingSource.AddNew(), perche i valori degli ID risultano -1
>al posto del vero numero record? grazie
hai riassegnato il datasource della datagrid con il bindingsource dopo l'addnew?

--
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

clod_mar Profilo | Newbie

PER PRIMIS TI RINGRAZIO DELLA DISPONIBILITA'.

non ho riassegnato nulla, se me lo spieghi ci provo. grazie ancora.

alx_81 Profilo | Guru

>non ho riassegnato nulla, se me lo spieghi ci provo. grazie ancora.
una volta che hai fatto la AddNew del record, dovresti prendere il BindingSource e riassegnarlo alla proprietà DataSource della tua griglia:

TuoBindingSource.AddNew() [...] Griglia.DataSource = TuoBindingSource;

--
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

clod_mar Profilo | Newbie

TI HO ALLEGATO UN FILE JPG, SPERO CHE COSI' TU POSSA CAPIRE IL MIO PROBLEMA, GRAZIE ANCORA, MOLTO GENTILE.

alx_81 Profilo | Guru

>TI HO ALLEGATO UN FILE JPG, SPERO CHE COSI' TU POSSA CAPIRE IL
>MIO PROBLEMA, GRAZIE ANCORA, MOLTO GENTILE.
purtroppo con questa jpeg posso capire un po' com'è la tua applicazione, ma le righe che ti ho consigliato vanno nel codice di gestione del collegamento dei dati.
PS: non scrivere in maiuscolo che sembra che "urli"

--
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

clod_mar Profilo | Newbie

Ti chiedo scusa per il maiuscolo, posso mandarti il mio progetto, cosi ci dai un'occhiata?

alx_81 Profilo | Guru

>Ti chiedo scusa per il maiuscolo, posso mandarti il mio progetto,
>cosi ci dai un'occhiata?
spero di avere i requisiti minimi per eseguirlo.. allega..

--
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

jackk87 Profilo | Junior Member

Personalmente la risolverei in modo molto più agile direttamente gestendo le operazioni dal DataGridView Me.DataGridView1.AllowUserToAddRows = True e Me.DataGridView1.AllowUserToDeleteRows = True.

1. Eseguo il Binding tra il DataGridView e il DataSet "DS" ( o DataTable che sia ), precedentemente "fillato" con apposito Adapter "DA" :

Codice:

DA.Fill(DS)
DataGridView1.DataSource = DS.Tables(0)

2. A questo punto inserisco un pulsante unico di "Applica Modifiche", che contiene tutta la gestione di tutte le possibili azioni che un utente può fare su una o anche più righe contemporaneamente, mediante un OleDbCommandBuilder, che esiste proprio per questo :
Codice:

Private Sub cmd_applica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_applica.Click

If DS.HasChanges() Then
Using CB As New OleDb.OleDbCommandBuilder(DA)
DA.UpdateCommand = CB.GetUpdateCommand
DA.InsertCommand = CB.GetInsertCommand
DA.DeleteCommand = CB.GetDeleteCommand
DA.Update(DS)
End Using
DS.AcceptChanges()
MsgBox("Modifiche Salvate", MsgBoxStyle.Information, "OK")
End If

End Sub

E il gioco è fatto : gestisce tutto in un colpo solo ed evita virtualmente ogni problema di refresh e di salvataggio nel DB.

clod_mar Profilo | Newbie

La mia intenzione è capire come progettare un piccolo database relazionato uno a molti, usando access e Microsoft Visual Basic 2010 Express, ho fatto un progetto, ma quando salvo i dati, mi salva i dati solo nella tabella Uno, nella tabella Molti no, se metto il progetto, riuscite a sistemarmelo?, cosi me lo studio, vi ringrazio moltissimo che mi avete risposto, ma sono un pò tonto, ho bisogno di studiare come avete sistemato il codice e le proprietà.



Ora cerco di capire il codice che mi ha scritto jackk87, che è stato gentilissimo.
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