Forum Delphi.cz

Databáze => MS SQL => Téma založeno: rob. 05-04-2019, 11:00:40

Název: ADO + Tfieldtype + ftstring versus ftwidestring
Přispěvatel: rob. 05-04-2019, 11:00:40
Ahoj,
v db je textove pole deklarovano jako nvarchar, vkladam do nej parametrickym sql prikazem textovy retezec z tedit.text. Pokud v parametru sql deklaruji pole jeko ftstring, azbukou zadany retezec se v db objevi jen jako retezec otazniku o delce toho stringu, coz by me moc neprekvapilo pokud bych delal ve stare, neunicode verzi delphi, nebo pole v db nebylo jako nvarchar. Pokud pole v dotazu specifikuji jako datatype:=ftwidestring, je retezec korektne v db ulozen v azbuce. V napovede delphi je uvedeno ze Tfieldtype ftstring odpovida string delphi (tedy ne treba ansistring), tzn, bych cekal ze v unicode verzi delphi (kde string je  unicode) jaksi automaticky tento problem nenastane i kdyz pouziji ftstring. Mam tedy chapat ze ftstring kazdopadne neodpovida string z delphi a musim vsechna textova pole v dotazech deklarovat jako ftwidestring (nezavisle na tom jestli delam v delphi 7 nebo treba 10)? Proste pro pripad, ze si v ceskem programu na ceskych win obcas nekdo muze chtit ulozit cizi vyraz v jine znakove sade. A vi nekdo jak by se to chovalo na treba ruskych windows, kdyby pole bylo jako ftstring.... ?

diky za zkusenosti
Název: Re:ADO + Tfieldtype + ftstring versus ftwidestring
Přispěvatel: rob. 05-04-2019, 12:09:32
diky moc za fundovanou odpoved, to jsem presne potreboval.