Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.01.2013, 23:16
toddams toddams вне форума
Прохожий
 
Регистрация: 23.01.2013
Сообщения: 10
Репутация: 10
Вопрос ADO Типы базы данных

Есть таблица с полями id, detail, mark, count, cost обозначающие уникальный номер, деталь, марку авто, количество на складе и цену соответственно. Использую ADO, отображаю через DBGridEh. База деталей создавалась MS Access. Изначально тип данных в колонке Cost был задан Integer, но мне сейчас надо поменять на Real.

1) Захожу в MS Access и изменяю на тип "Одинарный с плавающей точкоЙ", после изменений программа выдает следующее: ADOQuery1: Type mismatch for field cost Expecting :integer actual Float

Если может какие либо программные средства?
Ответить с цитированием
  #2  
Старый 23.01.2013, 23:38
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

а нужно то всего сделать двойной клик по ADOQuery1 и в поля Cost изменить соовтветствующее свойство с Integer на Float
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение:
toddams (23.01.2013)
  #3  
Старый 23.01.2013, 23:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Скорее всего у тебя в компоненте ADOQuery или в самом гриде в design-mode пресозданны колонки. Пересоздай там нужную колонку или поправь тип у существующей.

ЗЫ. Вообще, специально для денежных едениц создан соответсвующий тип данных - CURRENCY (у MS может быть MONEY). Его отличие от типов с плавающей точкой - он точный, т.е. без автоматического округления. Если тебе не хватает 4х знаков для копеек (т.е. для сотых долей копейки), то надо использовать что-то типа NUMBER(18,8).


ЗЗЫ. Мдя. пока писал развернутый ответ, уже опередили
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
toddams (23.01.2013)
  #4  
Старый 23.01.2013, 23:47
toddams toddams вне форума
Прохожий
 
Регистрация: 23.01.2013
Сообщения: 10
Репутация: 10
По умолчанию

Цитата:
Сообщение от Yurk@
а нужно то всего сделать двойной клик по ADOQuery1 и в поля Cost изменить соовтветствующее свойство с Integer на Float

Я не нашел такого поля в инспекторе объектов.

Цитата:
или поправь тип у существующей.

Именно это и есть сабжем даной темы, я не знаю как это сделать

Последний раз редактировалось toddams, 23.01.2013 в 23:49.
Ответить с цитированием
  #5  
Старый 23.01.2013, 23:57
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

если нет - удали только это 1 поле (кажись ADOQuery1Cost должно быть) и добавь его заново
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение:
toddams (23.01.2013)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter