Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGrid несоответствие данных с базой, берёт часть данных с потолка 
V
    Опции темы
knopka
Дата 3.4.2008, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



 Реальные данные в базе user posted image



а в DBGrid не те данные да ещё и отрицательные (хотя второй столбец один в один)
запрос один и тот же, база mysql 
user posted image
Подсажите пожалуйсто , что может быть за глюк
PM MAIL ICQ   Вверх
korian
Дата 3.4.2008, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



похоже на 2-х байтовый инт...
вы правильно выбрали тип столбца?
PM   Вверх
knopka
Дата 3.4.2008, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



тип первого столбца smallint unsigned
тип второго float
PM MAIL ICQ   Вверх
mrbrooks
Дата 4.4.2008, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Несоответствие данных - скорее всего знаковый и беззнаковый int
PM MAIL   Вверх
korian
Дата 4.4.2008, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



Цитата(knopka @  3.4.2008,  22:57 Найти цитируемый пост)
тип первого столбца smallint unsigned

это я так понимаю в базе...
а на форме у вас похоже smallint signed...
надо или делать его тоже unsigned, если DataSet позволяет, или делать его long int.

PM   Вверх
knopka
Дата 6.4.2008, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



и как это сделать? 
PM MAIL ICQ   Вверх
korian
Дата 6.4.2008, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



в DataSet добавляем все поля (если этого еще не сделано)
потом удаляем нужное поле.
нажимает правой кнопкой в Object TreeView на Fields в DataSet'е, выбираем New field.
заполняем поля, Type ставим Largeint.

PM   Вверх
knopka
Дата 6.4.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



To korian
спасибо за совет
Цитата

нажимает правой кнопкой в Object TreeView на Fields в DataSet'е, выбираем New field.

но не помогло. 
PM MAIL ICQ   Вверх
korian
Дата 6.4.2008, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



ну тогда 2 выхода:
1) не юзать в базе типы с модификатором unsigned

2) добавляем в DataSet все field'ы как есть.
нажимает правой кнопкой в Object TreeView на Fields в DataSet'е, выбираем New field.
придумываем Name для fielda (пусть будет MYCALCFIELD)
type = Integer
Field type = calculated

в датасете ставим обработчик OnCalcFields
Код

unsigned short realValue = DataSet->FieldByName("тут имя реального field'a")->AsInteger;
DataSet->FieldByName("MYCALCFIELD")->AsInteger = realValue;


Это сообщение отредактировал(а) korian - 6.4.2008, 23:33
PM   Вверх
knopka
Дата 6.4.2008, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



Вот нажил себе геморой на ж.
Всё жадность. Максимальное значение в столбце 65536,
ну я и подумал, обзову его smallint unsigned и будет счастье,
и размер базы поменьше будет, а нет за всё нужно платить.
Большое спасибо korian за помощь.
PM MAIL ICQ   Вверх
korian
Дата 7.4.2008, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



а вот кстати еще одно решение... поидее самое правильное  smile (хотя конечно 2 байта в наше время жалеть... имху нет смысла)
тоже самое, только тип другой:
в DataSet добавляем все поля (если этого еще не сделано)
потом удаляем нужное поле.
нажимает правой кнопкой в Object TreeView на Fields в DataSet'е, выбираем New field.
заполняем поля, Type ставим Word.


Это сообщение отредактировал(а) korian - 7.4.2008, 00:23
PM   Вверх
knopka
Дата 7.4.2008, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



Цитата

(хотя конечно 2 байта в наше время жалеть... имху нет смысла)

у меня в таблице 2.117.324.887 записей и занимает она 17,7 Гб 
так, что есть, что жалеть
PM MAIL ICQ   Вверх
knopka
Дата 8.4.2008, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 17.1.2006
Где: Россия: Петербург

Репутация: нет
Всего: 1



вопрос решён
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.