Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-10-2009, 12:57   #1
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
VB Problemi rognosi query parametriche e bindingnavigator.. help ç_ç

Ragazzi sono veramente in crisi.. son giorni che cerco di trovare soluzione a due problemi:

1° Problema) Orario

Spiego megliorogrammo in vb e dovrei caricare su un database sqlserver dei dati in una tabella cronologia, e fin quà tutto bene, però nel caricare la data ( es. 21/12/2009 12.24.13) intesa come data e ora scrivo questa funzione:

cmdDB.CommandText = "INSERT INTO [CronologiaEventi] (Data) VALUES ('" & Date.Today() & "')" 'ho messo date.today perchè mi accetta solo quello

con il seguente risultato, che nella colonna riguardante l'ora mi scrive 12/10/2009 0.00.00 .. in pratica non salva l'ora. Ora ho provato a fare come molti forum consigliano: query parametriche, ecco il codice :

cmdDB.CommandText = "INSERT INTO [CronologiaEventi] (Data) VALUES ('" & "@data" &"')"



cmdDB.Parameters.Add("@data", SqlDbType.DateTime).Value = date.now()



E mi da questo errore: " Conversione non riuscita durante la conversione di una stringa di caratteri nel tipo di dati datetime."

Ragazzi ho provato di tutto aiutatemi..



2° Problema) BindingNavigator




Spiego meglio: Ho due tabelle come potete vedere nell'immagine di sopra con una relazione uno a molti tra di loro. Ora io vorrei visualizzare tramite un bindingNavigator i dati della seconda tabella però non tutti solo quelli con una determinata condizione ovvero con ad esempio il valore 3 della seconda colonna quindi in quel caso avrei 3 record da visualizzare in delle textbox e spostarmi da un record all altro tramite il binding.. ora vi posto il codice che ho scritto io che ho preso da un forum e che ho elaborato per me:



Dim connectString As String = "Data Source=KEY\SQLEXPRESS;Initial Catalog=PinnaMag;Integrated Security=True" Qua imposta la connessione al database


Dim connection As New SqlConnection()
connection.ConnectionString = connectString
connection.Open()

' Eseguo la query
Dim command As New SqlCommand("Select Id_Magazzino From MagaAttuale WHERE Cod_Prodotto =1", connection)

Dim reade As SqlDataReader = command.ExecuteReader()

' Carico i dati nel database..


Me.ds.Load(reade, LoadOption.OverwriteChanges, New String() {"MagaAttuale"})



BindingNavigator1.BindingSource = bs E infine assegno il bindingsource al binding navigator..

Il risultato è una ciofeca, nel senso che il programma si avvia ma nel binding navigator mi dà solo un valore da scorrere e le caselle con cui dovrei visualizzare il tutto non vanno.. dove ho sbagliato? se potete aiutatemi.. se no abbandono il bindingnavigator e faccio tutto a mano -.- .

Grazie saluti
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2009, 13:22   #2
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da KeySim Guarda i messaggi
...
1° Problema) Orario
...
cmdDB.CommandText = "INSERT INTO [CronologiaEventi] (Data) VALUES ('" & "@data" &"')"
Strano modo di concatenare, può dipendere sicuramente da quello. Dal momento che hai definito un Named Parameter, lo puoi passare direttamente alla stringa Sql :

Codice:
cmdDB.CommandText = "INSERT INTO nomeTabella ( Data ) VALUES ( @data )"
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 12-10-2009, 13:32   #3
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
Se faccio come hai detto te mi da errore e mi dice "Dichiarare la variabile scalare "@data"."
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 11:53   #4
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da KeySim Guarda i messaggi
Se faccio come hai detto te mi da errore e mi dice "Dichiarare la variabile scalare "@data"."
Bah, devi aver combinato qualche pasticcio...
Comunque io i Named Parameters li gestisco così, e non ho mai avuto problemi. Un esempio :

Codice:
        Dim strCN As String = "Data Source=nomeMacchina\SQLEXPRESS;Initial Catalog=nomeDB;Integrated Security=SSPI;"
        Dim CN As New SqlClient.SqlConnection(strCN)
        Dim strSql As String = "INSERT INTO nomeTabella (id, nome, data) VALUES ( @id, @nome, @data )"
        Dim CMD As New SqlClient.SqlCommand(strSql, CN)
        CMD.Parameters.Add("@id", SqlDbType.Int).Value = <valore>
        CMD.Parameters.Add("@nome", SqlDbType.VarChar).Value = <"valore">
        CMD.Parameters.Add("@data", SqlDbType.DateTime).Value = <valore>
        CN.Open()
        CMD.ExecuteNonQuery()
Liscio come l'olio, non so perchè a te non funzioni...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 12:48   #5
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
ecco il mio codice conseguente al tuo..


cmdDB.CommandText = "INSERT INTO [CronologiaEventi] (Id_Maga,Azione,Data,Operatore) VALUES ('" & idmaga & "','" & "Aggiunta" & "',@data,'" & idPersona & "')"

cmdDB.Parameters.Add("@data", SqlDbType.DateTime).Value = "10/03/2009 12.11.10"

Dim cmdDBC As New SqlClient.SqlCommand(cmdDB.CommandText, connDB)
cmdDBC.ExecuteNonQuery()

PROBLEMA: dichiarare variabile scalare @data.. fai te

Ultima modifica di KeySim : 13-10-2009 alle 12:50.
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 12:59   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da KeySim Guarda i messaggi
ecco il mio codice conseguente al tuo..


cmdDB.CommandText = "INSERT INTO [CronologiaEventi] (Id_Maga,Azione,Data,Operatore) VALUES ('" & idmaga & "','" & "Aggiunta" & "',@data,'" & idPersona & "')"

cmdDB.Parameters.Add("@data", SqlDbType.DateTime).Value = "10/03/2009 12.11.10"



PROBLEMA: dichiarare variabile scalare @data.. fai te
Eh no ! Non è conseguente al mio.

- Anzitutto, perchè metti il nomeTabella fra parentesi quadre ? Io uso lo stesso nomeTabella presente nel DB Sql Server, e funziona benissimo.

- Fai una INSERT mischiando concatenazione con apici singoli, variabili, parameter solo su "data". Perchè mai non fai tutto con i parametri ? Così ti complichi solo la vita inutilmente.

- Che metodo usi su cmdDB per eseguire l'insert ? Io uso .ExecuteNonQuery().

Ce l'ho davanti proprio ora, e ti garantisco che la mia Insert 100% parametrica funziona.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:03   #7
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
te l'ho scritta su.. guarda ora ho messo il codice uguale al tuo papale papale.. stesso errore

Dim str As String = "INSERT INTO CronologiaEventi (Data) VALUES (@data)"

cmdDB.Parameters.Add("@data", SqlDbType.DateTime).Value = "10/03/2009 12.11.10"

Dim cmdDBC As New SqlClient.SqlCommand(str, connDB)

cmdDBC.ExecuteNonQuery()



dichiarare variabile scalare @data.. tutte a me capitano -.-
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:19   #8
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
TOMBOLA!!Grazie mille ho scoperto l'inghippo XD ora ti spiego..

Dim str As String = "INSERT INTO CronologiaEventi (Data) VALUES (@data)"

cmdDB.Parameters.Add("@data", SqlDbType.DateTime).Value = "10/03/2009 12.11.10"

Dim cmdDBC As New SqlClient.SqlCommand(str, connDB)

cmdDBC.ExecuteNonQuery()

praticamente al posto di scrivere cmdDB devo scrivere cmdDBC che fesso XD e quindi il codice corretto è questo:





Dim str As String = "INSERT INTO CronologiaEventi (Data) VALUES (@data)"

Dim cmdDBC As New SqlClient.SqlCommand(str, connDB)
cmdDBC.Parameters.Add("@data", SqlDbType.DateTime).Value = "10/03/2009 12.11.10"
cmdDBC.ExecuteNonQuery()



ora cè l'altro problema da risolvere xD




Però non riesco a resettare l'indice di una tabella.. nel senso che ho messo tanti record di prova, ora li ho cancellati tutti ma l'indice continua dall ultimo che avevo inserito quindi dal 1809° miseriaccia.. ho letto che per azzerare l'indice dovrei usare TRUNCABLE table ma non va.. ho provato con " ALTER TABLE table tabella AUTO_INCREMENT=1 " e mi dice che in prossimità del '=' la sintassi non è corretta.. sai dirmi come fare? >.<

Ultima modifica di KeySim : 13-10-2009 alle 13:24.
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:21   #9
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Per ora posso farti queste domande :

- Che versione di Sql Server usi ? ( Io ho Sql Server 2005 Express senza alcun SP )
- Il DB che usi è frutto di un porting da altro DB ? ( es. da Oracle a Sql... )
- Il campo Data è un campo calcolato ?
- Che vincoli ha il campo Data ?

Per quanto mi riguarda è un tipo di errore "strano", prova anche ad andare su MS e cecare le possibili cause. A me non succede praticamente MAI.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:23   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da KeySim Guarda i messaggi
TOMBOLA!!Grazie mille ho scoperto l'inghippo XD ora ti spiego..
...
praticamente al posto di scrivere cmdDB devo scrivere cmdDBC che fesso XD ...
Ma DAAAIII,
Ti meriti un bel d'oro massiccio.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:47   #11
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
eheh ma ascolta per il problema dell ALTER TABLE sai aiutarmi? o qualcun altro può? son disperato miseriaccia perchè il primo problema l'ho risolto.. il 2 idem rimane quello dell alter table..
KeySim è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 13:57   #12
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da KeySim Guarda i messaggi
Però non riesco a resettare l'indice di una tabella.. nel senso che ho messo tanti record di prova, ora li ho cancellati tutti ma l'indice continua dall ultimo che avevo inserito quindi dal 1809° miseriaccia.. ho letto che per azzerare l'indice dovrei usare TRUNCABLE table ma non va.. ho provato con " ALTER TABLE table tabella AUTO_INCREMENT=1 " e mi dice che in prossimità del '=' la sintassi non è corretta.. sai dirmi come fare? >.<
DBCC CHECKIDENT ('tablename', RESEED, newseed)

Esempio :

DBCC CHECKIDENT ('nomeTabella', RESEED, 1)

Dovrebbe resettare i campi identity di nomeTabella al newseed = 1.

EDIT :
DBCC CHECKIDENT ('nomeTabella', RESEED, 0)
per far iniziare il contatore da 1 al primo inserimento...

Ultima modifica di MarcoGG : 13-10-2009 alle 14:10.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 13-10-2009, 16:57   #13
KeySim
Senior Member
 
Iscritto dal: Jun 2006
Messaggi: 502
Grazie di tutto ora funziona tutto alla perfezione ^^ grazie delle dritte, potete chiudere =)
KeySim è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Eni mette un tetto ai prezzi dei carbura...
BYD Seagull (Dolphin Surf), l'elettrica ...
Multa milionaria per un data center del ...
F-Droid 2.0 si aggiorna con una nuova gr...
Microsoft ridisegna Copilot: dalla chat ...
Volkswagen porterà 20 videogiochi...
Troppa IA storpia: OpenAI licenzia in tr...
Marathon, Bungie svela i contenuti dell'...
Autunno, tempo di potature: i tagliasiep...
Meta Muse, due sviluppatori riescono a o...
Google AI Pro gratis: festa a sorpresa p...
MacSync colpisce macOS usando i calendar...
L'agente IA cancella 48 mila file in 103...
Jensen Huang avverte: l'AI può aiutare a...
Elettrico Renault in arrivo in Spagna: 6...
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: 06:05.


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