Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    VB6 ADO Connection CursorLocation

    Ciao a tutti ,
    sopratutto a Gibra che spero mi illuminerà anche stavolta .
    Stavo affrontando il titanico lavoro di passaggio da Access a SqlServer .
    Titanico perchè il SQL è diverso da TSQL di SqlServer .
    Chiunque affronti lo stesso problema mi contatti pure , ho un paio di routine che trasformano il codice sql di access in quello di sql server (tranne gli IIF ) .

    Vengo al dunque :

    il grosso problema è questo (da non credere..)

    uso AdCursorUseServer
    inserisco un valore in un campo : Rs("campo1")=format( 4,60,"#,##0.00")
    RIMANE Rs("campo1")=4,6

    uso AdCursorUseClient
    inserisco un valore in un campo : Rs("campo1")= format( 4,60,"#,##0.00")
    DIVENTA Rs("campo1")=460 (!!!!)

    p.s. (metto 4,60 nel format ma in realtà c'è una variabile numerica che contiene 4,60..)

    Tengo a precisare che USO LO STESSO PC ...

    perchè ? Ragazzi ADO sarà tanto bello ma con quella cacca di DAO tutti sti casini non c'erano ...
    Mattia

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    119
    Se usi quel formato per generare la stringa sql allora stai sbagliando tutto.
    E' SEMPRE opportuno e a volte necessario su sql server utilizzare i parametri.
    Parametri su ADO – questi sconosciuti

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Concordo con cyanuro al 100%

    anzi, personalmente ritengo l'uso dei parametri assolutamente indispensabile .
    Prova ne é che i miei 2 link in firma trattano proprio di quello sia in VB6 che in VB.NET

    Diverso tempo fa mi accadde che su Oracle non riuscivo ad aggiornare una data pur passandola al recordset nel formato corretto; avrò controllato decine di volte, non c'eerano santi!!!
    Usando un Command con Parametri l'aggiornamento è riuscito al primo colpo.
    Da allora uso il recordset solo per caricare i valori dalla tabella e trasferirli all'UI tramite una classe, mentre per UPDATE/INSERT uso uno Command.

    In questo progetto completo trovi tutto ciò che ti serve:
    http://nuke.vbcorner.net/Progetti/VB...T/Default.aspx

    in particolare vedrai la funzione SaveData() della classe clsClienti che esegue sia l'UPDATE che l'INSERT.

    Guardati la mia routine SetADOParameter() per impostare ogni parametro in modo davvero banale.


  4. #4
    Grazie ragazzi per le informazioni ...

    Purtroppo ne arrivo da 12 anni di DAO .
    Leggero' con attenzione le cose che mi avete postato e ... comincio a sentirmi vecchio .
    Mattia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.