Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-02-2009, 16: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 [email protected] 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, 18: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, 18: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 [email protected] 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, 22: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 24-02-2009, 00: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, 10: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 [email protected] 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, 10: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 [email protected] 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 10:19.
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2009, 10: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, 12: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 [email protected] 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, 18: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, 20: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 [email protected] 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: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, 10: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 [email protected] 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, 10: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, 11: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 [email protected] 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, 13: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, 19:56   #17
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Graziee funzionaaa!!!!
__________________
[ Raidmax Ninja | Intel [email protected] 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, 08: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, 15: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 [email protected] 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, 17: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


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...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
NASA: l'equipaggio di Crew-11 rientrer&a...
CoopVoce lancia le sue prime offerte 5G:...
Rivoluzione The Elder Scrolls Online: un...
Lo strapotere cinese è evidente c...
GeForce RTX 6000: niente SUPER e attesa ...
Anche gli Stati Uniti puntano il dito co...
È cinese la prima (enorme) pala e...
A Pechino è record di giorni con ...
Lenovo al CES 2026: Qira, IA ambientale ...
Le sette startup italiane che ridefinisc...
Philips Hue SpatialAware: la configurazi...
Sport & Lifestyle: performance, dati...
Le novità HP al CES 2026 tra AI P...
Gigabyte propone OLED per tutti con lumi...
Musk contro OpenAI, la guerra arriva in ...
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: 03:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v
Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.