Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-02-2009, 15:29   #1
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
[Visual Basic 2008] Combobox & database...

Ciao a tutti...

Sto cercando di creare un assemblatore virtuale di pc (tipo quello che c'è sul sito di gigapc, per intenderci..) in visual basic...

Ora ho creato un form in cui l'utente può scegliere un processore tra quelli presenti sul database... E ho inserito un combobox in cui dovrebbe uscire la lista dei processori (anche dopo delle query sql..)..

MA qui sorge il problema.... Come farlo?? Che codice devo mettere per aggiungere gli item???

Il mio codice --->

Codice:
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged

        PictureBox1.ImageLocation = "C:\Documents and Settings\Ale\Documenti\ALE\PC\PROGRAMMAZIONE\pc assembler\PC ASSEMBLER\PC ASSEMBLER\images\intel.jpg"

        ComboBox1.Items.Add(Me.ProcessoriTableAdapter.querymarcaprocintel(Me.ComponentiDataSet.processori))

    End Sub
---> NON FUNZIONA

Radiobutton1 è un radiobutton con cui l'utente sceglie di vedere solo processori intel.

querymarcaprocintel è una query che restituisce i nomi dei modelli di processori di marca intel...

VI PREGO HELP ME

grazie..
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 17:51   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
querymarcaprocintel è una query che restituisce i nomi dei modelli di processori di marca intel...
ComboBox1.Items.Add() è il metodo giusto. Il problema sta evidentemente in tutto quello che segue.

Esattamente cosa dovrebbe restituire ( intendo, il tipo di dato... ) quella roba che dai in pasto al ComboBox1.Items.Add ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 17:56   #3
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Una stringa... una combinazione di numeri e lettere....

ALTRE INFO:

nome database: componenti
nome tabella: processori

query sql:
SELECT modello
FROM processori
WHERE marca= N'intel' ------> questa sono sicurissimo ke funge
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 21:26   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Una stringa... una combinazione di numeri e lettere....
Avesse restituito un array di stringhe l'avrei capito ( con la Combo caricavi l'array in un colpo solo... )
Se restituisce una stringa allora in quella Combo avrai sempre e solo un elemento.
Non entro nel merito del tuo progetto, perchè non potendolo vedere sarebbe cmq inutile, ma non era (molto) più semplice via codice con un semplice DataReader ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2009, 23:09   #5
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Se restituisce un array usa ComboBox1.Items.AddRange.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2009, 09:01   #6
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Avesse restituito un array di stringhe l'avrei capito ( con la Combo caricavi l'array in un colpo solo... )
Se restituisce una stringa allora in quella Combo avrai sempre e solo un elemento.
Non entro nel merito del tuo progetto, perchè non potendolo vedere sarebbe cmq inutile, ma non era (molto) più semplice via codice con un semplice DataReader ?
Eh??? cos'è un datareader?? Scusa ma non sono molto ferrato
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2009, 09:09   #7
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Se restituisce un array usa ComboBox1.Items.AddRange.
Usando questo mi da errore "Impossibile convertirer il valore di tipo 'Integer' a 'Matrice in 1 dimensioni di Object'" <---- ???

EDIT:

ho provato anche così:
Quote:
Dim arr
arr = New ArrayList(Me.ProcessoriTableAdapter.querymarcaprocintel(Me.ComponentiDataSet.processori))
ComboBox1.Items.AddRange(arr)
ma mi da 3 righe di errore "risoluzione dell'overload non riuscito perchè nessun 'new' accessibile può essere chiamato senza una conversione verso un tipo di dati più piccolo [......]"
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]

Ultima modifica di ale09hh : 24-02-2009 alle 09:19.
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2009, 09:55   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Per forza. Se avevi detto che ritorna una stringa, non puoi usare .AddRange .

Il concetto del DataReader ( esempio su DB Access ) è il seguente :

Codice:
        Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & percorsoDB & nomeDB & ";Persist Security Info=False")
        Dim strSql As String = "SELECT * FROM Tabella WHERE condizioni..."
        Dim CMD As New OleDb.OleDbCommand(strSql, CN)
        CN.Open()
        Dim RDR As OleDb.OleDbDataReader = CMD.ExecuteReader()
        While (RDR.Read())
	ComboBox1.Items.Add(RDR("nomeCampo")) 
        End While
        RDR.Close()
        CN.Close()
10 righe di codice e nessun utilizzo di componenti definiti a design.
E il gioco è fatto.

Chiaramente se hai N Combo, puoi parametrizzarla ( ne fai una Function che riceve in ingresso la SELECT e ti ritorna un DataReader... ).
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 11:53   #9
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Grazie Marcogg... Ma non funziona... non riesce ad aprire il database... mi dice che non lo trova , ma ho controllato 100 volte il percorso ed è giusto...


Ora succede una cosa strana..

Con questo codice -->
Codice:
ComboBox3.Items.Add(Me.ProcessoriTableAdapter1.Fill(Me.ComponentiDataSet1.processori))
Mi inserisce il numero di righe presenti nel database!! Boh

la query che ho usato è Fill--> SELECT modello FROM processori...

Ho inserito due modelli per cui nel combobox mi inserisce semplicemente "2"...
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 17:16   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Grazie Marcogg... Ma non funziona... non riesce ad aprire il database... mi dice che non lo trova , ma ho controllato 100 volte il percorso ed è giusto...
percorsoDB deve essere il percorso completo e deve finire con la back-slash "\". Es.: "C:\cartellaDB\"
nomeDB deve essere il nome secco, senza percorso, ossia ad es.: "nomeDB.mdb".
E vedrai che funziona .

Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Ora succede una cosa strana..

Con questo codice -->
Codice:
ComboBox3.Items.Add(Me.ProcessoriTableAdapter1.Fill(Me.ComponentiDataSet1.processori))
Mi inserisce il numero di righe presenti nel database!! Boh

la query che ho usato è Fill--> SELECT modello FROM processori...

Ho inserito due modelli per cui nel combobox mi inserisce semplicemente "2"...
Ecco, io quel sistema lì lo butterei proprio...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2009, 19:29   #11
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Ma se il database è in formato .sdf (quello creato direttamente con visual basic) cambia qualcosa?
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 08:25   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Ma se il database è in formato .sdf (quello creato direttamente con visual basic) cambia qualcosa?
Eh, direi di sì. Potevi dirlo prima che usi .sdf .
Cmq, l'esempio per Access è molto simile anche nel caso del Db .sdf.

Per la stringa di connessione ti rimando qui :
http://www.connectionstrings.com/sql-server-2005-ce

Per il resto prova prima con gli oggetti OleDb ( ho il sospetto che possa funzionare lo stesso ), poi con Sql ( SqlConnection, SqlCommand ecc... ) o SqlCe ...
La struttura del codice e l'utilizzo del DataReader non cambiano in ogni caso.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 09:01   #13
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Mi sa che non funziona perchè mi dice "Formato di database [...]\componenti.sdf' non riconosciuto.".....
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 09:09   #14
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Mi sa che non funziona perchè mi dice "Formato di database [...]\componenti.sdf' non riconosciuto.".....
Usa le classi Sql.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 10:09   #15
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Ho provato con questo codice:

Codice:
Dim conn As New SqlClient.SqlConnection("Data Source = componenti.sdf; Persist Security Info=False;")
        Dim sqlQ As String = "SELECT modello FROM processori"
        Dim command As New SqlClient.SqlCommand(sqlQ, conn)
        conn.Open()
        Dim reader As SqlClient.SqlDataReader = command.ExecuteReader()
        While (reader.Read())
            ComboBox3.Items.Add(reader("modello"))
        End While
        reader.Close()
        conn.Close()
Non mi da errori ma il debug si blocca e non fa niente..

Cmq grazie 6 gentilissimo a rispondermi
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 12:00   #16
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Prova con gli oggetti dello SpaceName System.Data.SqlServerCe.
Se dovesse fallire anche lì, mi sa che il tuo DB ha qualche problema...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2009, 18:56   #17
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Graziee funzionaaa!!!!
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2009, 07:57   #18
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ale09hh Guarda i messaggi
Graziee funzionaaa!!!!
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2009, 14:13   #19
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Ho notato una cosa: se definisco sqlQ direttamente come una stringa (esempio "SELECT modello FROM processori" il codice funziona perfettamente...

Se però inserisco una variabie mi da errore "l'identificatore non può essere una stringa vuota" esempio:
Codice:
sqlQ = "SELECT modello FROM processori WHERE frequenza >=" & textbox1.text & " AND frequenza <=" & textbox2.text & """"
WHY??

PS: le quattro virgolette alla fine vengono lette come una sola....
__________________
[ Raidmax Ninja | Intel Q6600@3.0 Ghz | Arctic Cooling Freezer 7 Pro | Asus P5K-E WiFi-AP | 6GB Corsair 800Mhz | XFX HD5770XT | 2xWestern Digital 320GB Raid0 | Pioneer DVR-215D | LG L222WS ]
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2009, 16:54   #20
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Il problema sono proprio quelle quattro doppie virgolette, alla fine.
& """"
A che servono ? Eliminale.
Ti ritrovi una doppia virgola alla fine della SELECT. Ovvio che non la interpreta correttamente.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Stellantis cancella il pick-up elettrico...
Microsoft termina il supporto per Office...
VaultGemma di Google è il primo L...
Uno studio svela come usiamo ChatGPT, il...
Bucano con una trivella la galleria ferr...
Super sconti su Amazon: DJI Osmo Mobile ...
Nuovo sconto di 100€ sui Google Pixel 10...
A San Francisco il primo combattimento a...
Xpeng produrrà in Europa: siglato...
Microsoft 365 Copilot si installer&agrav...
VMware perderà il 35% delle appli...
Arriva Managed Kubernetes Standard, la p...
Dal MIT un nuovo elettrolita solido auto...
Object First annuncia la disponibilit&ag...
Apple lancia Music Transfer Tool: import...
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: 14:43.


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