SQL Problem
3 отговора
131 прегледа
SQL Problem
Napisah si programka na C++Builder i izpolzvah MySQL. Vsichko si raboteshe dobre dokato ne reshih che i lokalniqt Paradox shte mi svyrshi rabota. Problemyt e sledniqt: v MySQL e napylno korektno da napishesh '5,14' za stoinost na float pole. Obache v Paradox ne trqbva da se ograjda s apostrofi. A razbirate che tazi zapetaq se interpretira ne kakto trqbva (ne e tochka zaradi local settings - ne moga da karam vseki da si go promenq na English).
Savet
Bez da sam 100% siguren (dali tova za koeto pishesh e pod Windows) dali e tochka ili zapetaia se opredelia ot system settings - pone v Windows e taka. Bi sledvalo da imash metod kojto da ti vrashta system settings i v zavisimost ot tiah da napravish "smart" formirane na SQL izraza
Re: SQL Problem
Другия вариант е да зададеш стойност на DecimalSeparator при стартиране на програмата:
DecimalSeparator := ','
(така е в delphi)
DecimalSeparator := ','
(така е в delphi)
Re: SQL Problem
Трети метод (и според мен най-удачен) е да използваш query с параметри:
SQL от сорта на:
update table1
set
Field1 = :Field1Value
...
И после в кода:
ParamByName('Field1Value').AsFloat := F1V;
(Пиша на Delphi, ама е все тая според мен)
По този начин печелиш от това, че сървърът ти държи компилираните заявки в кеша и ако е често използван израз, печелиш време
Е, това за кеша се отнася за Oracle, в Paradox или MySQL не разчитай много на това
SQL от сорта на:
update table1
set
Field1 = :Field1Value
...
И после в кода:
ParamByName('Field1Value').AsFloat := F1V;
(Пиша на Delphi, ама е все тая според мен)
По този начин печелиш от това, че сървърът ти държи компилираните заявки в кеша и ако е често използван израз, печелиш време
Е, това за кеша се отнася за Oracle, в Paradox или MySQL не разчитай много на това