Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-03-2005, 16:16   #1
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
Visual Basic e Database

Allora, ho un database con una sola tabella e voglio fare un'applicazione che mi consenta di far vedere tutti i campi di questa tabella, come devo fare???
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2005, 16:59   #2
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
La richiesta è piuttosto generica, puoi fare in vari modi, dipende da te, uno è questo (a grandi linee):

1) Crei una connessione al database;
2) Crei un recordset;
3) Apri il recordset passandogli la stringa SQL:"SELECT * FROM NOMETABELLA";
4) Prendi una DataGrid, la piazzi su un Form e le passi il recordset tramite la proprietà Recordsource.
5) Avvi l'applicazione ed ecco la tabella che appare.

Se vuoi ulteriori spiegazioni basta chiedere.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 10:10   #3
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
come faccio a creare la connessione al database???
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 10:43   #4
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Quote:
Originariamente inviato da enrico999
come faccio a creare la connessione al database???
Il database a cui ti vuoi connettere è fatto con Access, in locale sul tuo PC? Oppure è un database remoto su un server (SQL Server, Oracle, ecc.)?
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 10:58   #5
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
si, fatto con acces in locale
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 12:16   #6
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Prima di tutto creati un riferimento ad ADO: Menù Progetto -> Riferimenti..., seleziona ActiveX Data Objects 2.x Library, dove x è il secondo numerello della versione (dipende da quale hai installata); poi premi OK e torna al tuo codice. Nella Form piazzaci una bella Datagrid e poi nel codice (anche nella Form_Load per provare) scrivi:

Dim dbConn As ADODB.Connection
Dim rsetMioRecordset As ADODB.Recordset
Dim sSQL as String

Set dbConn=New ADODB.Connection
Set rsetMioRecordset=New ADODB.Recordset

dbConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=MioDatabase.mdb"
sSQL="SELECT * FROM NOME_TABELLA"
rsetMioRecordset.Open sSQL, dbConn
Set Datagrid1.DataSource=rsetMioRecordset

Avvia il tutto e ti appariranno le informazioni nella datagrid. Quando esci ricordati di chiudere il recordset (rsetMioRecordset.Close) e la connessione al DB (dbConn.Close), non farlo subito altrimenti la datagrid non ti visualizza nulla. Alla fine poi distruggi anche il recordset (Set rsetMioRecordset=Nothing) e anche la Form (Set Form1=Nothing).

P.S.: Questo è il modo più semplice per effettuare una connessione ad un database e visualizzare i dati di una tabella, manca una gestione degli errori ed alcuni parametri nel recordset che dipendono dal tipo di accesso che vuoi effettuare. Volendo puoi specificare anche una password per il database, la dove ci fosse.
__________________
Careful With That Axe

Ultima modifica di Brigante : 23-03-2005 alle 12:21.
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 13:13   #7
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
no, io nei riferimenti non ho questa voce:

ActiveX Data Objects 2.x Library


uso visual basic 6 pro.



un'altra cosa, quando parto, devo selezionare come nuovo progetto:

exe standard, progetto dati, o qualcos'altro???
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 13:18   #8
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Quote:
Originariamente inviato da enrico999
no, io nei riferimenti non ho questa voce:

ActiveX Data Objects 2.x Library


uso visual basic 6 pro.



un'altra cosa, quando parto, devo selezionare come nuovo progetto:

exe standard, progetto dati, o qualcos'altro???
...Ce l'hai, ce l'hai, si chiama Microsoft ActiveX Data Objects 2.x Library; ovviamente la x è sostituita dal numerello della versione. Per iniziare devi creare un progetto exe standard.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 13:50   #9
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
ok, per quanto riguarda Microsoft ActiveX Data Objects 2.x Library tutto OK.

scusa se ti disturbo ancora, ma è la prima volta che uso visual studio, comunque ho un'altra domanda:

scegliendo exe standar nella barra a sinistra non mi compare datagrid, e quindi non so come inserirla....

(per questo prima avevo chiesto se dovevo fare un exe standar o un nuovo porogetto)
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 13:59   #10
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Quote:
Originariamente inviato da enrico999
ok, per quanto riguarda Microsoft ActiveX Data Objects 2.x Library tutto OK.

scusa se ti disturbo ancora, ma è la prima volta che uso visual studio, comunque ho un'altra domanda:

scegliendo exe standar nella barra a sinistra non mi compare datagrid, e quindi non so come inserirla....

(per questo prima avevo chiesto se dovevo fare un exe standar o un nuovo porogetto)
Clicca con il tasto destro del mouse sulla casella degli strumenti (quella dove stanno tutti i controlli), seleziona Componenti... e ti si apre un finestra con un elenco di roba, seleziona Microsoft Datagrid Control, clicca su OK ed ecco la datagrid.

P.S.: Scusami, ma se non conosci l'ambiente di Visual Studio, ti conviene iniziare con delle cose molto semplici, e non con un'applicazione per gestire un database.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 14:07   #11
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
purtroppo devo farlo per forza....


comunque in questo codice:

Dim dbConn As ADODB.Connection
Dim rsetMioRecordset As ADODB.Recordset
Dim sSQL as String

Set dbConn=New ADODB.Connection
Set rsetMioRecordset=New ADODB.Recordset

dbConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=MioDatabase.mdb"
sSQL="SELECT * FROM NOME_TABELLA"
rsetMioRecordset.Open sSQL, dbConn
Set Datagrid1.DataSource=rsetMioRecordset


cosa devo mettere al posto di MioRecordset???

(Al mosto di MioDatabase ho messo il nome del mio database e al posto di NOME_TABELLA ho messo il nome della tabella che ho nel database.)
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 14:40   #12
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Quote:
Originariamente inviato da enrico999
purtroppo devo farlo per forza....


comunque in questo codice:

Dim dbConn As ADODB.Connection
Dim rsetMioRecordset As ADODB.Recordset
Dim sSQL as String

Set dbConn=New ADODB.Connection
Set rsetMioRecordset=New ADODB.Recordset

dbConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=MioDatabase.mdb"
sSQL="SELECT * FROM NOME_TABELLA"
rsetMioRecordset.Open sSQL, dbConn
Set Datagrid1.DataSource=rsetMioRecordset


cosa devo mettere al posto di MioRecordset???

(Al mosto di MioDatabase ho messo il nome del mio database e al posto di NOME_TABELLA ho messo il nome della tabella che ho nel database.)
Il recordset puoi chiamarlo come vuoi, di solito lo si chiama con un mome che identifica più o meno l'azione che compie, per esempio per leggere una tabella di utenti si può creare un recordset chiamato rsetUtenti; la parola rset viene di solito messa per indicare che appunto ci si riferisce ad un recordset, ma potresti anche scrivere Dim Pluto as ADODB.Recordset.
Ricordati, inoltre, che il nome del database deve essere compreso di percorso, cioè, per esempio: C:\Progetto\Database\NomeDatabase.mdb
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 15:10   #13
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
ok, altra domandina stupida (non per me).

come faccio a creare un recordset???
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 15:48   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E' già stato creato nel codice sopra...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 18:09   #15
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
allora scusate, comunque non ho capito.

Quando scelgo file exe, devo scrivere il codice della connessione al database.

(potete dirmi solo questo codice???)


poi devo creare un recordset (pensavo che si facesse più o meno come con dreamweaver, non so se lo avete già usato, invece a quanto ho capito anche qua scrivo il codice a mano)
se anche per il recordset pèotete scrivermi solo il pezzo di codice per il recordset...


così almeno capisco:
questo pezzo serve per connetermi al database
e quest'altro è il recordset
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2005, 23:51   #16
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Ma anche per il recordset il codice lo hanno già postato

facendo un sunto:

clicca sul form col tasto dx e scegli visualizza codice in modo da aprirti l'editor e scrivi:

Codice:
'questo è un commento, come vedi i commenti si indicano con l'apice singolo e sono molto importanti

Option Explicit 'con questa dichiarazione intendiamo che le variabili che dichiareremo sono visibili a tutti gli oggetti del form

Dim db As ADODB.Connection 'dove db è un nome arbitrario ed è il database

Dim rs  As ADODB.Recordset 'dove rs è un nome arbitrario ed è il recordset

Dim sSQL As String 'una comoda variabile di tipo stringa


Private Sub Form_Load() 'cioè, ogni volta che aprirò il form

Set db = New ADODB.Connection 
Set rs = New ADODB.Recordset

'instauro la connessione con il database

db.ConnectionString "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & App.Path & "\tuodatabase.mdb"

db.Open 'apro il database

sSQL = ""  'in modo che ogni volta che apro il form ho il buffer vuoto
sSQL = sSQL "SELECT * FROM nome_tabella_tuo_database" & VbCrlf
sSQL = sSQL & "ORDER BY Nome_Campo" ' ordino i dati in base a qualcosa

Set rs = cn.Execute(sSQL) 'eseguo la SQL che mi restituirà il recordset  


Set Datagrid1.DataSource = rs 'visualizzo i dati sulla griglia

End Sub ' Fine Funzione Form_Load()
E' importante anche che quando chiudi il Form, o esci dal programma, o se il programma crasha, che prevedi una funzione che sganci l'applicazione dal database:

Codice:
Private Sub Form_Unload(Cancel As Integer)
'sgancio il database alla chiusura del form
   
 If cn.State = adStateOpen Then 'se il db è aperto
      
        If rs.State = adStateOpen Then 'se ho dei recordset aperti
      
           rs.Close 'chiudo il recordset
         
        End If 
      
      cn.Close 'chiudo la connessione al database
    
   End If 
    
    Set cn = Nothing 'nessuna connessione attiva
    Set rs = Nothing 'nessun recordset attivo
    
 End Sub
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2005, 21:31   #17
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Mi permetto di fare alcune precisazioni:
Non serve scrivere sSQL="" perchè la Form_Load viene eseguita una sola volta all'avvio, quindi la variabile viene dichiarata ed è automaticamente vuota, non si tratta di un buffer.
Per quanto riguarda Option Explicit, ho letto il commento a fianco, ma non ho capito se il commento è riferito alle variabili sotto di lui o ad Option Explicit, se fosse riferito a quest'ultimo è sbagliato, perchè invece serve per avere una dichiarazione esplicita ed obbligatoria delle variabili che verranno usate, questo per evitare di scrivere una variabile sbagliata o non dichiarata, infatti mettendo Option Explicit e scrivendo una variabile non dichiarata si avrà un errore in fase di esecuzione.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2005, 09:43   #18
enrico999
Member
 
L'Avatar di enrico999
 
Iscritto dal: Jan 2004
Città: Verolavecchia
Messaggi: 198
ho provato con il codice che mi ha detto, ma subito alla prima riga mi da un errore:

Dim Agenda As ADODB.Connection 'dove db è un nome arbitrario ed è il database


L'errore è il seguente:

Errore di compilazione: Tipo definito dall'utente non definito



Possibile che nessuno mi dica chiaramete come si fa la connessione ad un database???
enrico999 è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2005, 09:48   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Te lo dice perchè non hai fatto questa operazione:

"Prima di tutto creati un riferimento ad ADO: Menù Progetto -> Riferimenti..., seleziona ActiveX Data Objects 2.x Library, dove x è il secondo numerello della versione (dipende da quale hai installata);"
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2005, 10:07   #20
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da Brigante
Mi permetto di fare alcune precisazioni:
Non serve scrivere sSQL="" perchè la Form_Load viene eseguita una sola volta all'avvio, quindi la variabile viene dichiarata ed è automaticamente vuota, non si tratta di un buffer.
E' giusto, hai ragione, è dovuto al fatto che in genere io per i recordset associo tutto a comodi pulsanti.

Quote:
Per quanto riguarda Option Explicit, ho letto il commento a fianco, ma non ho capito se il commento è riferito alle variabili sotto di lui ......-cut-
Rileggendo il mio post, in effetti non era chiaro dalla posizione del commento, ma non intendevo assolutamente il secondo caso.

Grazie cmq, per le precisazioni

RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Dopo essere diventato indipendente, GOG ...
L'idea del CEO Fiat: abbassare la veloci...
Ricavi record per TSMC nel quarto trimes...
vivo X300 Pro scende di 200€ su Amazon c...
Prezzi alle stelle per gli smartphone: i...
God of War: individuato l'attore che int...
HONOR Magic8 Pro arriva in Italia: nuovo...
Scopa elettrica potente come una top di ...
Super prezzi per i Google Pixel su Amaz...
Samsung sta lavorando a nuovi occhiali s...
Non solo GPU: OpenAI scommette oltre 10 ...
RTX 5000 SUPER rimandate a data da desti...
Questo Roborock di fascia altissima crol...
Capitalizzazione record per Alphabet: &e...
iPhone Fold: il primo pieghevole di Appl...
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: 10:44.


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