Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-03-2009, 17:36   #1
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
[Visual basic 2008] Ancora su database sql..

Perchè il seguente codice non funziona? Non mi da errore ma non fa quello che dovrebbe...

Codice:
Dim conn As New System.Data.SqlServerCe.SqlCeConnection("Data Source = componenti.sdf; Persist Security Info=False;")
        Dim sqlQ As String = "SELECT pezzo, modello, prezzo, marca FROM temporal WHERE pezzo = 'processore'"
        Dim command As New System.Data.SqlServerCe.SqlCeCommand(sqlQ, conn)
        conn.Open()
        Dim reader As System.Data.SqlServerCe.SqlCeDataReader = command.ExecuteReader()

        While (reader.Read())

            If Label14.Text = " " Then
                MsgBox("Devi scegliere un processore prima di aggiungerlo!", MsgBoxStyle.Critical, "ERRORE!")

            ElseIf IsDBNull((reader(("pezzo")))) Then
                Dim cmd As New System.Data.SqlServerCe.SqlCeCommand
                cmd.CommandText = "INSERT INTO temporal(pezzo, modello, prezzo, marca) VALUES ('processore' , '" & Label15.Text & "' , '" & Label17.Text & "' , '" & Label14.Text & "')"
                conn.Open()
                cmd.Connection = conn
                cmd.ExecuteNonQuery()
                While (reader.Read())
                    ListBox4.Items.Add(UCase((reader("pezzo"))) & " - " & UCase((reader("marca"))) & " " & UCase((reader("modello"))) & " - " & (reader("prezzo")) & "€")
                End While
                conn.Close()

            Else
                MsgBox("Puoi inserire solo un processore per volta!", MsgBoxStyle.Critical, "ERRORE")

            End If

        End While

        reader.Close()
        conn.Close()
__________________
[ 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 : 15-03-2009 alle 17:40.
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2009, 17:49   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Non mi è chiaro quel secondo Reader nidificato nel primo...
Che stai tentando di fare ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2009, 18:02   #3
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
Allora se ti ricordi io nel mio programma vorrei mettere una cosa tipo carrello della spesa...

All'inizio ho sperimentato a farlo "normalmente", cioè inserendo direttamente i dati dal form nella list box, ma poi ho incontrato dei problemi più avanti per cui ho deciso di inserire un database temporaneo in cui inserire i dati per metterli in seguito nel listbox...

In particolare,

Codice:
Dim sqlQ As String = "SELECT pezzo, modello, prezzo, marca FROM temporal WHERE pezzo = 'processore'"
        Dim command As New System.Data.SqlServerCe.SqlCeCommand(sqlQ, conn)
        conn.Open()
        Dim reader As System.Data.SqlServerCe.SqlCeDataReader = command.ExecuteReader()
Qui mi connetto al database per leggere se esiste il campo 'pezzo' nella colonna 'processore', e se non ci sono li inserisce lui e li visualizza nella list box, precisamente qui --->
Codice:
 ElseIf IsDBNull((reader(("pezzo")))) Then
                Dim cmd As New System.Data.SqlServerCe.SqlCeCommand
                cmd.CommandText = "INSERT INTO temporal(pezzo, modello, prezzo, marca) VALUES ('processore' , '" & Label15.Text & "' , '" & Label17.Text & "' , '" & Label14.Text & "')"
                conn.Open()
                cmd.Connection = conn
                cmd.ExecuteNonQuery()
                While (reader.Read())
                    ListBox4.Items.Add(UCase((reader("pezzo"))) & " - " & UCase((reader("marca"))) & " " & UCase((reader("modello"))) & " - " & (reader("prezzo")) & "€")
                End While
                conn.Close()
gli altri due if controllano:
1- se l'utente ha selezionato il processore prima di inserirlo nel listbox
2- se l'utente ha già inserito un processore
__________________
[ 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 : 15-03-2009 alle 18:05.
ale09hh è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2009, 18:39   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Va beh, non ho capito esattamente cosa tu voglia fare, comunque fare 2 cicli while sullo stesso reader ( il Reader che usi dentro è lo stesso che usi fuori, perchè vedo che ne hai dichiarato uno solo ) non può andare.

Quando fai Reader.Read() il reader è partito, è come un cursore, poi gli fai fare ancora .Read() all'interno... E' logico che faccia pasticci, anzi mi sorprende un po' che non ti si pianti tutto.

Se vuoi usare un DataReader interno prova ad istanziarne uno nuovo ! E occhio ai nomi...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 15-03-2009, 19:07   #5
ale09hh
Senior Member
 
L'Avatar di ale09hh
 
Iscritto dal: Jan 2008
Messaggi: 430
E' un pò difficile da spiegare e aggiungi che non sono un mostro di eloquenza... va be provero in qualche altro modo..
__________________
[ 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
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Cybersecurity, intelligenza artificiale ...
Xiaomi avvia la distribuzione globale di...
Addio cavi in auto: 3 adattatori per Car...
OPPO e Google sempre più vicini s...
Sorpresa! Non è Tesla il marchio ...
Microsoft corre ai ripari: scoperta fall...
Xiaomi 15T e 15T Pro da 549€ su Amazon: ...
Friggitrice ad aria Philips Airfryer Ser...
Francesca Barra nuda: la popolare condut...
La prossima Alpine A110 sarà elet...
Lavoro e intelligenza artificiale, in Se...
Instagram introduce la cronologia dei Re...
Epomaker Luma40: compattezza e personali...
Guillermo del Toro: 'Preferirei morire p...
iPhone 17 Pro e 17 Pro Max tornano dispo...
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: 15:29.


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