|
|
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Добрый день! Использую делфи и MSSQL. Из БД пытаюсь вставить "рублевые" данные (тип данных в БД - money)в Edit и не могу понять, почему он их выдает без "копеек", т.е. только целую часть. Но когда пишу запрос вот так: rtrim(convert(varchar(20),t2.CostPerDayFiz)) , то все нормально. И еще. Когда пытаюсь одно поле таблицы присвоить другому, то же самое (типы данных одинаковые). Обьясните пожалуйста, где я ошибся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 08:37:08 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Вам может начать DBEdit юзать? Или тогда нпишите как Вы присвоение делаете, потому как Edit1.Text := ADODataSet2.FieldByName('mon').AsString; проходит прекрасно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 08:55:03 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Делаю вот так: Edit1.Text:=Query1.FieldByName('CostPerDayUr').AsString результат тот же! Только целая часть выводится! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:07:31 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
И даже, когда пытаюсь просто присвоить значения, тот результат! StoredProcChangeNewDogovor.ParamByName('@CostPerDayDogovor').AsCurrency:= QueryFreeCells.FieldByName('CostPerDayFiz').AsCurrency; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:09:40 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Сравним скрипт запроса? declare @m money set @m = 1.22 select mon = @m И какая делфа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:16:14 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Можно по-подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 09:44:09 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
продолжите Query1.sql.text := ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 10:09:29 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Пишу в Query: declare @m money set @m = 1.22 select mon = @m, t1.id_cell, t1.num_safe, t1.Num_cell, t2.CostPerDayFiz, /* rtrim(convert(varchar(20),t2.CostPerDayFiz)) as CostPerDayFiz,*/ t2.NDSUr, t2.NDSFiz from cells t1, TypesOfCells t2 Выдает ошибку:Error creating cursor handle Тоже самое пишу в SQL Query Analyzer, то все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 10:42:55 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Начните с моего запроса а потом усложняйте добавлением полей до своего. Сразу поймете где ошибка. Заодно и проверим работает ли мой код у Вас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 10:54:36 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Сейчас попробую. Еще поднял мануал, так там пишут, что если использовать тип данных money, то "надо перед значащей цифрой ставить знак доллара или другой валюты, определенной для вышего региона". (Ex.: insert ... values($222, .....) ) Это обязательно? Если, да, то как это воплотить в процедурах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 11:07:56 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
>Slava Если пишу только Ваш код, то сразу ошибка "Error creating cursor handle " А в Analyzer работает нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 11:54:08 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
$ не обязателен. Попробуйте поставить новый Query и попробовать с ним. Возможно Вы меняли настройки курсора, и теперь что с ними не так. В новом все будет по умолчанию. Какая делфи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 12:09:45 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
- попробую сейчас - дельфя 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 12:25:17 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
>Slava С новым Query таже проблема и таже ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 12:36:15 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
У Вас хоть какой-нибудь SQL выполняется? Если да то попробуйте тот же самый скрипт но с типом данных decimal. Да и вообще money и decimal одно и тоже. Decimal(15,3) Вам должно хватить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 14:32:26 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
>Slava :))) хоть какой-нибудь скрипт у меня выполняется! Изменить тип не трудно. Вот только очень хотелось разобраться в сложившейся ситуации. Делать нечего! Прийдется везде поменять тип money на decimal или float. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 14:43:35 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
А чем Вы пользуетесь для доступа? - ADO, BDE, ODBC? Если BDE - драйвер native, не ODBC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2002, 15:02:51 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
использую BDE через ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 06:28:52 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
А какой тип данных лучше использовать вместо money: float или decimal? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 07:03:19 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Попробуйте для Вашего BDE-алиаса установить ENABLE BCD=FALSE (из BDE администратора). ИМХО, decimal лучше. ЗЫ. Достаточно активно пользуюсь типом money через BDE, когда появился ADO - через ADO. Подобных проблем не было. Впрочем BDE через ODBC на пользовался (а зачем?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 11:34:18 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Чой-то мне кажется, что ENABLE BCD=TRUE должно быть. Посмотрите в настройках М для денег лучше все же money. Он для этого и существует. И лучше не BDE. А чего TDBEdit не используете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 11:55:34 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Так, по-порядку. 1. decimal тоже не работает(только целую часть выводит), а вот float работает нормально. 2. DBEdit использую - тоже самое. Сейчас попробую изменить настройки BDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 12:01:27 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
Посмотрел сейчас свои настройки. ENABLE BCD=FALSE. Все работает. Припоминается, что имел я какие-то проблемы в случае TRUE, и вроде именно с деньгами. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 12:03:10 |
|
||
|
Рубли без копеек
|
|||
|---|---|---|---|
|
#18+
пытался изменить ENABLE BCD (по умолчанию стояло False), пишет, что не может изменить ENABLE BCD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2002, 12:26:34 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32032441&tid=1822106]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 204ms |
| total: | 380ms |

| 0 / 0 |
