Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-03-2010, 13:49   #1
deviato
Member
 
Iscritto dal: Feb 2008
Messaggi: 70
[VB. Net] Lettura database

Salve a tutti.
Il mio problema può sembrare una sciocchezza ma io non ci sto piu capendo niente..
Ho programmato molto con visual basic 6 e ho fatto tanti bei programmini interfacciati con i miei database. Ho voluto fare il salto e passare a visual basic 2008 che utilizza la tecnologia .Net. Ho guardato tanti tutorial in giro ma ognuno ha un modo diverso e tanti a volte neanche funzionano.
Volevo semplicemente sapere com'è il comando da dare per interrogare il mio database (ACCESS 2007) con una stringa sql e mettere il risultato dentro una textbox..
Tanto x capirsi Textbox1.text = ?????
Grazie

P.s. La fase di connessione al db l'ho già fatta

Dim PercorsoDB As String = "C:\Users\Alessio\Documents\esami.accdb"
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
deviato è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 16:46   #2
deviato
Member
 
Iscritto dal: Feb 2008
Messaggi: 70
Ho risolto..
Vi posto la parte di codice così che se avete migliorie da consigliarmi possiate farlo o se semplicemente vi siete trovati nella mia stessa situazione..

Dim PercorsoDB As String = "C:\percorso\esami.accdb"
Dim ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
Dim Ds As DataSet()
Dim cmd As OleDbCommand
Dim Dr As OleDbDataReader

Cn.Open()
cmd = New OleDbCommand("SELECT DOMANDA,A,B,C,D FROM esami")
Dr = cmd.ExecuteReader
Dr.Read()
TextBox1.Text = Dr(1)
TextBox2.Text = Dr(2)
TextBox3.Text = Dr(3)
TextBox4.Text = Dr(4)
TextBox5.Text = Dr(0)
Dr.Close()
Cn.Close()

Ogni volta che si lancia Dr.Read() legge il record successivo.
deviato è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2010, 12:12   #3
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da deviato Guarda i messaggi
Ho guardato tanti tutorial in giro ma ognuno ha un modo diverso e tanti a volte neanche funzionano.
E questo è un classico.

Quote:
Originariamente inviato da deviato Guarda i messaggi

Dim PercorsoDB As String = "C:\percorso\esami.accdb"
Dim ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
Dim Ds As DataSet()
Dim cmd As OleDbCommand
Dim Dr As OleDbDataReader

Cn.Open()
cmd = New OleDbCommand("SELECT DOMANDA,A,B,C,D FROM esami")
Dr = cmd.ExecuteReader
Dr.Read()
TextBox1.Text = Dr(1)
TextBox2.Text = Dr(2)
TextBox3.Text = Dr(3)
TextBox4.Text = Dr(4)
TextBox5.Text = Dr(0)
Dr.Close()
Cn.Close()

Ogni volta che si lancia Dr.Read() legge il record successivo.
E' una tecnica un po' strana.
A parte il fatto del DataSet Ds, che crei e, almeno nel codice postato, poi non usi mai, non ho ben chiaro lo scopo che volevi raggiungere
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2010, 12:30   #4
deviato
Member
 
Iscritto dal: Feb 2008
Messaggi: 70
Beh hai ragione il dataset non l'ho usato semplicemente perchè faceva parte di un tentativo precedente.. ho dimenticato di eliminare la dichiarazione.
Semplicemente volevo leggere un record del database e poi volevo inserirlo in alcuni textbox.. Comunque se hai soluzioni migliori sono tutto orecchie.. questa è stata una soluzione che con qualche accortezza sono riuscito a far funzionare.. sicuramente sarà una soluzione contadina.. eheheh
deviato è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2010, 13:29   #5
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da deviato Guarda i messaggi
Beh hai ragione il dataset non l'ho usato semplicemente perchè faceva parte di un tentativo precedente.. ho dimenticato di eliminare la dichiarazione.
Semplicemente volevo leggere un record del database e poi volevo inserirlo in alcuni textbox.. Comunque se hai soluzioni migliori sono tutto orecchie.. questa è stata una soluzione che con qualche accortezza sono riuscito a far funzionare.. sicuramente sarà una soluzione contadina.. eheheh
Se desideravi prelevare selettivamente un record per volta, magari avendo anche la possibilità di accedervi in modalità random ( trattandosi di un quiz... ) forse il DataSet era meglio usarlo, considerando anche il fatto che in Access non è possibile fare una Select diretta per RowNum.
In poche parole, carichi la tabella delle domande in un DataSet, e poi accedi alle singole Rows del DataSet stesso passando l'indice di Row :

Codice:
DataSet.Tables(index As Integer).Rows(index As Integer)
Oltretutto questo è preferibile ad avere un DataReader che fa la Select su un ID numerico direttamente da DB, in quanto in caso di continue aggiunte e rimozioni di domande dalla tabella, se non si procede opportunamente allo shifting dei record o al rimpiazzo degli ID mancanti, si incorre in inevitabili errori. Sicuramente nell'insieme Rows di un DataSet, invece non ci saranno mai "buchi" nella numerazione progressiva degli indici di riga.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2010, 12:08   #6
deviato
Member
 
Iscritto dal: Feb 2008
Messaggi: 70
Funziona! Grazie per l'aiuto! ormai ti sfrutto fino alla fine eheh Se io avessi un database in uno spazio internet ci sarebbe la possibilità di far interagire il mio programma con quest'ultimo invece di usare un database in locale?
deviato è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2010, 12:51   #7
ilboso
Senior Member
 
L'Avatar di ilboso
 
Iscritto dal: May 2002
Messaggi: 343
Quote:
Originariamente inviato da deviato Guarda i messaggi
Ho risolto..
Vi posto la parte di codice così che se avete migliorie da consigliarmi possiate farlo o se semplicemente vi siete trovati nella mia stessa situazione..

Dim PercorsoDB As String = "C:\percorso\esami.accdb"
Dim ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
Dim Ds As DataSet()
Dim cmd As OleDbCommand
Dim Dr As OleDbDataReader

Cn.Open()
cmd = New OleDbCommand("SELECT DOMANDA,A,B,C,D FROM esami")
Dr = cmd.ExecuteReader
Dr.Read()
TextBox1.Text = Dr(1)
TextBox2.Text = Dr(2)
TextBox3.Text = Dr(3)
TextBox4.Text = Dr(4)
TextBox5.Text = Dr(0)
Dr.Close()
Cn.Close()

Ogni volta che si lancia Dr.Read() legge il record successivo.

un paio di consigli:
- fai un test sul metodo "dr.read", cosi' da poter gestire il caso in cui non trovi i dati.
- per leggere il field del datareader, puoi anche usare il nome del campo, oltre che il suo indice


Codice:
Dim PercorsoDB As String = "C:\percorso\esami.accdb"
Dim ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & PercorsoDB
Dim Cn As New OleDbConnection(ConnString)
Dim Ds As DataSet()
Dim cmd As OleDbCommand
Dim Dr As OleDbDataReader

Cn.Open()
cmd = New OleDbCommand("SELECT DOMANDA,A,B,C,D FROM esami")
Dr = cmd.ExecuteReader
if Dr.Read() then
	TextBox1.Text = Dr("A")
	TextBox2.Text = Dr("B")
	TextBox3.Text = Dr("C")
	TextBox4.Text = Dr("D")
	TextBox5.Text = Dr("DOMANDA")
else
	' dati non trovati...
end if
Dr.Close()
Cn.Close()
__________________
Lone Loser: un'avventura grafica punta e clicca! http://loneloser.altervista.org
ilboso è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2010, 19:11   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da deviato Guarda i messaggi
Funziona! Grazie per l'aiuto! ormai ti sfrutto fino alla fine eheh Se io avessi un database in uno spazio internet ci sarebbe la possibilità di far interagire il mio programma con quest'ultimo invece di usare un database in locale?
Tutto sta a definire meglio il concetto di "spazio internet".
La risposta è : dipende...
Se ad esempio vuoi mantenere il tuo DB Access, che magari sta su FTP, ti rimando qui :
http://www.hwupgrade.it/forum/showthread.php?t=2002757
E comunque, per quanto ne so io, la risposta è No.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 16-11-2010, 19:32   #9
andrea.chiarentin
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 14
Scusate io ho un problema riguardante l'aggiornamento del DB dopo aver cancellato una riga dalla Table. In pratica il metodo update del dataadapter non fa nulla! Voi sapreste suggerirmi una possibile causa?
GRaize
andrea.chiarentin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
La NASA dimostrerà l'utilizzo del...
L'ESA acquisterà una missione Cre...
La NASA cambia idea sulle stazioni spazi...
Implementazione NVMe nativa disattivata ...
Polestar 2 e 3: le batterie integrano or...
Crisi delle memorie: ecco le soluzioni p...
Il satellite ESA Proba-3 è tornat...
'Chiudete (quasi) tutto', il risultato d...
Tesla, maggiore autonomia grazie a una r...
Nasce TrendAI, la divisione di Trend Mic...
Recensione Motorola Signature: il primo ...
TeraFab, Elon Musk parte all'assalto di ...
L'ambiziosa base lunare permanente sulla...
Litografia BEUV (Beyond-EUV): la startup...
SAP e l'IA agentica: dall'hype alla matu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v