PDA

View Full Version : [VB .NET - Windows Form]Aiuto su utilizzo origine dati


carlito9987
02-09-2011, 15:09
Ciao a tutti! Avrei bisogno di un aiutino...

Mi sto da poco affacciando alla programmazione .NET ed ora sto realizzando una piccola applicazione (Windows Form) che sfrutta un db access 2007. In particolare ho associato un'origine dati, selezionando il mio file accdb al progetto tramite la funzione Aggiungi origine dati.

Premesso questo vi illustro il mio problema/dubbio:

Se volessi fare una query di inserimento, modifica, cancellazione... come dovrei farlo?? Finchè si tratta di associare l'origine dati ad una combobox ad esempio, è abbastanza semplice.. ma queste operazioni invece??

Potreste farmi un breve esempio inserendo del codice? Ad esempio per una insert.

Vi ringrazio in anticipo.

carlito9987
05-09-2011, 09:24
uppp

Luc72
05-09-2011, 11:02
Un esempio veloce (nei riferimenti devi selezionare ADO.NET):

Dim SQL_Database As New ADODB.Connection
Dim SQL_RecordSet As New ADODB.Recordset
Dim SQL_Command As New ADODB.Command

SQL_Database.ConnectionTimeout = 30
SQL_Database.CommandTimeout = 0
SQL_Database.CursorLocation = ADODB.CursorLocationEnum.adUseClient

SQL_Command.CommandTimeout = 0
SQL_Command.CommandType = ADODB.CommandTypeEnum.adCmdText

SQL_Database.Open("Provider=SQLOLEDB.1;Password=**password del database**;Persist Security Info=True;User ID=**utente database**;Initial Catalog=**nome db**;Data Source=**path del file mdb**;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096")

SQL_Command.ActiveConnection = SQL_Database

SQL_Command.CommandText = ** query da eseguire **

SQL_RecordSet.LockType = ADODB.LockTypeEnum.adLockOptimistic
SQL_RecordSet.Open(SQL_Command)

nel commandtext puoi utilizzare qualsiasi sintassi SQL:

SELECT * FROM Utenti WHERE Utente='DYLAN' <-- per selezionare i record

DELETE FROM Utenti WHERE Utente='DYLAN' <-- per cancellare

INSERT INTO Utenti (Utente, Nome) VALUES ('DYLAN','DYLAN DOG')

UPDATE Utenti SET Nome='DYLAN DOG 2' WHERE Utente='DYLAN' <-- per aggiornare

per leggere i record:
Dim t_Valore = SQL_RecordSet("Nome").Value

per passare al record successivo:
SQL_RecordSet.MoveNext()

per controllare se sono finiti i record:
SQL_RecordSet.EOF() (se ritorna true sono finiti)

carlito9987
05-09-2011, 12:01
Sei stato praticamente perfetto nella risposta... era quello che volevo capire!

Se non ti dispiace vorrei chiederti un'altra cosa però... ma così facendo è necessario associare l'origine dati al progetto?

E se volessi verificare che la query mi abbia restituito almeno un record? Come potrei fare?

Grazie mille!