Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - vb6 e ricerca parziale record in sql server
Forum - Visual Basic 6 - vb6 e ricerca parziale record in sql server

Avatar
piter123 (Normal User)
Pro


Messaggi: 145
Iscritto: 21/05/2008

Segnala al moderatore
Postato alle 15:13
Martedì, 12/02/2013
salve, ho un Db in Sql Server composto da vari record, ogni record è composto da vari campi tra cui uno di questi è DataOra di tipo smallDateTime.
Ora devo inserire da un file txt una serie di record neL BD Sql, devo però inserire solo quelli la cui data non è presente nel Bd Sql.

Ora il campo DataOra nel Db Sql è ad esempio così composto 27/01/2005 15:00:00, mentre nel file txt il campo da confrontare è scritto così 27/01/2005

ho provato a fare una ricerca di questo tipo ma non mi funziona

dim Data1 as Date
Data1=format(cdate("27/01/2005"),"dd/MM/yyyy")
CtrlDataOra=""

StrSql = "SELECT * FROM " & NomeTabella & " WHERE DataOra LIKE '" & Data1 & "'"
            RsSQL.Open StrSql, Cnn, adOpenStatic, adLockOptimistic, adCmdText
            If Not RsSQL.EOF Then
                CtrlDataOra = RsSQL("Dataora").Value          'Se trova dato associa a variabile
            End If
            RsSQL.Close

if CtrlDataOra="" then    ESEGUE INSERIMENTO RECORD DA TXT A SQL


PM Quote
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Segnala al moderatore
Postato alle 18:22
Martedì, 12/02/2013
In genere nei database la data è sempre nel formato americano, MM/DD/YYYY, quindi per fare un confronto devi formattare Data1 (quella del file txt) allo stesso modo , invece tu la formatti in italiano.

PM Quote
Avatar
piter123 (Normal User)
Pro


Messaggi: 145
Iscritto: 21/05/2008

Segnala al moderatore
Postato alle 18:35
Martedì, 12/02/2013
si giusto, ho provato anche a fare una query direttamente su Slq manager del tipo

SELECT * FROM Tabella WHERE DataOra LIKE '2005-01-27'

ma non và, penso di sbagliare qualcosa, sui campi che non sono date il Like mi funziona perfettamente

Per la Cronaca ho provato anche a inserire i caratteri jolly %

PM Quote
Avatar
gibra (Normal User)
Pro


Messaggi: 155
Iscritto: 16/04/2009

Segnala al moderatore
Postato alle 13:46
Mercoledì, 13/02/2013
Ma sei sicuro che il trattino sia il separatore corretto delle date?
Hai controllato prima se sulle impostazioni del tuo pc è così?

PM Quote
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Segnala al moderatore
Postato alle 12:44
Venerdì, 22/02/2013
prova a fare il casting sul campo, con SQL Server di solito funziona

select  * from Tabella  where CAST(Tabella.DataOra AS date) = '27/01/2005'

PM Quote