Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL Insert fields with a ' in them
Message
De
02/06/2015 14:32:34
Dragan Nedeljkovich
Now officially retired
Zrenjanin, Serbia
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Desktop
Divers
Thread ID:
01620334
Message ID:
01620523
Vues:
58
>>>>I think this, you think that - but the actuality would have to be tested. Don't have the profiler on this machine.
>>>
>>>I'm 99.999% sure the conversion to N(17,0) in VFP will do nothing.
>>
>>But then what's the problem? There's no float or other... the parameter passed is represented as a string in the insert command sent anyway. You'd have a
>>
>>cast(@p15 as numeric(17,0))
>>
>>and the @15 will be mentioned as ...,12345.5494850,... in the parameter list.
>
>The @p15 will be passed as float. So, with adding
>
>select * from myTable where colName = CAST(@p15 as NUMERIC(17,0))
>
>it will execute it correctly in SQL Server and the fact that @p15 is float doesn't matter anymore.
>
>If we will run this command without that cast, e.g.
>
>SELECT * from myTable where colName = @p15 where @p15 is float and the colName is numeric(17,0) we will have implicit conversion in the plan which may be very costly on big tables.

Ah, so you're forcing it to be of certain type SQL side for these reasons. The parameter type is sort of decided ad hoc, and VFP's parser just passes general numerics (as a literal in the parameter list, ergo a generic numeric type) in the most precise notation it can, so I guess it often gets interpreted as a float.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform