Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемма со StringGrid в БД, Работа со стринг грид 
V
    Опции темы
Vitalishe
  Дата 29.7.2007, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем!

пишу БД, и в одной из форм возникла незадача. Есть данные в таблице, которую надо отобразить на форме, идиальным вариантом стал бы StringGrid, размером 9*5, однако ньюанс

автоматически компоненты ADOTable(Query) в состоянии Insert() или Edit() могут не перейти, используя DBNavigator и компоненты Data Controls, раньше я делал так: 

\\на OnActivateForm вешал следующий код
Код
 MainFrm->DBNavigator->DataSource = (DM = SomeSource)

При нажатии кнопок на DBNavigator всё воркало. 
Но в случае со StringGrid - нет.

посему надо:

0. при загрузке формы загрузить в StringGrid проверить, есть ли данные в таблице, если да то загрузить в состоянии Bworse() или Edit(), если нет то вызвать метод Insert(); как  лучше сделать проверку? Дайте примерsmile

1.  Допустим таблица не пуста, тут вопрос такой: данные считать для каждого поля можно только как приведено в коде ниже или есть варианты как с массивом 8*4?
Пример:
    
Код
StringGrid-Cells[1][1] = DM->ADOTable->FieldByName("SomeField")->Value;


2. Если есть варианты с массивом, как потом отсортировать всё по полям таблицы?

3. Возникает ошибка при чтении из базы данных *.MDB полей таблице ("Не может привести значение Null к String") если записи нет, но подгружает данные в Grid из таблицы, если они есть.

Код
 Grid->Cells[1][1] = DM->ADOTable->FieldByName("SomeField")->Value;


Попытлся решить поблему так: 
Код
Grid->Cells[1][1].ToInt = DM->ADOTable->FieldByName("SomeField")->Value;

Как результат вообще перестал читать данные smile:

Если есть пример работы со String Grid дайте поджалуйста, или посоветуйте как исправить эти ошибки
PM MAIL   Вверх
Rodman
Дата 29.7.2007, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Цитата(Vitalishe @  29.7.2007,  01:13 Найти цитируемый пост)
идиальным вариантом стал бы StringGrid

поясни почему??? чем тебе TDBGrid не угадил?!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Vitalishe
Дата 29.7.2007, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Rodman, 

Визуальный вариант. Наиболее оптимальный в данном решени, в TDBGrid так не сдалаешь, по-моему. Обрати внимание на расположение данных в столбцах и строках: каждая ячейка - одино поле таблицы 8*4 (смотри приложенную table.jpg картинку)

{ 0 0 0 0
  0 0 0 0
  0 0 0 0
  0 0 0 0
  0 0 0 0
  0 0 0 0
  0 0 0 0
  0 0 0 0}

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  table.jpg 24,24 Kb
PM MAIL   Вверх
witex
Дата 29.7.2007, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Напиши обработчик на ДБ навигатор тогда свой! или сощай свои кнопки и прописывай события! что тебе надо сделать! по другому ни как!

я просто не понимаю ваабше смысла ДБНавигатора в этом случае!
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. 
PM MAIL   Вверх
Rodman
Дата 30.7.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Цитата(Vitalishe @  29.7.2007,  13:42 Найти цитируемый пост)
Обрати внимание на расположение данных в столбцах и строках: каждая ячейка - одино поле таблицы 8*4

это все поправимо!!! от расположения текста до его размера!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Vitalishe
Дата 31.7.2007, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Rodman, 
если есть примерчик работы с DBGrid в таком ключе, выложи пожалуйста...
PM MAIL   Вверх
Vitalishe
Дата 31.7.2007, 04:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Разобрался в чем ошибка, дело не в приведении типов данных, а в обращении к несуществующей записи.

PM MAIL   Вверх
Santilka85
Дата 31.7.2007, 05:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Vitalishe, пометь вопрос как решённый smile 
--------------------
Снегоболотоходы WP8X8 всего за 480000 рублей и аксессуары к ним.
PM MAIL   Вверх
Vitalishe
  Дата 31.7.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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

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

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


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

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


 




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


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

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