Come si utilizza CAST in ADO per convertire i valori Float in String?Tipo di annuncio SQL di tipo Float to String (Excel)
ho cercato
SELECT CAST([Field] AS VARCHAR(20)) FROM ...
e
SELECT CAST([Field] AS STRING) FROM ...
e sempre ottiene un'eccezione OLE (Errore sconosciuto).
La colonna della tabella contiene valori numerici misti (giustificati a destra) e alfanumerici (giustificati a sinistra). Se esistono solo valori alfanumerici, il tipo di campo query ADO è String.
Sto usando Delphi 2009 ADO e Excel 2010.
Il CSTR sembra essere una funzione di conversione valido. Ora dà un altro errore: Campo "Campo" non trovato. Immagino che la funzione CSTR cambi il nome della colonna e. Quindi è necessario un nome di campo alias: SELECT CStr ([Field]) come [Field]. Google per l'aiuto :) – mjn
Anche dopo il casting c'è ancora un errore durante l'apertura del set di risultati - "E_FAIL". Non vengono fornite altre informazioni Amo Excel come formato di scambio dati: P – mjn
Forse il CSTR fallisce se il campo è già una stringa? Prova a trasmettere solo quelle righe che non hanno valore di tipo stringa nel campo, qualcosa come 'SELECT iif (fieldType ([field]) <> string, CStr ([field]), [field]) FROM'. Non conosco la sintassi corretta dalla parte superiore della mia testa, ma tu hai l'idea ... – ain