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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.09.2007, 12:28
Canadec Canadec вне форума
Прохожий
 
Регистрация: 18.07.2007
Сообщения: 13
Репутация: 10
По умолчанию Сохранение нескольких записей из DbGrid в базу

На форме имеется компонент Dbgrid, туда вносится разная инфа типа
№ Наимен. ед.изм. кол цена сумма
1. Гвозди кг. 10 1000 10000
...
5. Кирпич шт. 1000 300 300000
....
так помимо этого Dbgrid на форме имеется остальные компоненты типа edit или мемо
Думаю сохранять все при помощи
query.close;
query.clear;
query.sql.add('insert into ...');
query,open;
Имеется таблица в которую заносятся все эти поля, так вот самая загвоздка с инфой в Dbgrid. Как занести ее в базу одной строкой, или использовать еще одну таблицу и сделать там что-то вроде уникального идентификатора при помощи которого будут связываться эти таблицы. Или есть способ с индексами.
Заранее спасибо!
Ответить с цитированием
  #2  
Старый 04.09.2007, 12:39
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

С чем связана TDBGrid?
Какая база данных?
Нужно заносить данные в ту же таблицу с которой связан TDBGrid или в другую?
Ответить с цитированием
  #3  
Старый 04.09.2007, 12:48
Canadec Canadec вне форума
Прохожий
 
Регистрация: 18.07.2007
Сообщения: 13
Репутация: 10
По умолчанию

База Interbase 6.0
Проще конечно чтобы таблица была одна, ну если невозможно то несколько,
а в Dbgrid имеется кнопка при нажатии которой происходит выбор из других таблиц
Ответить с цитированием
  #4  
Старый 05.09.2007, 05:04
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Не понял я из этого объяснения структуры базы, поэтому привожу отвлеченный пример. Вот часть запроса, который я использую для первоначального заполнения таблицы в базе. Это диалект T-SQL, поэтому на я не уверен на все сто что он будет работать в IB
Код:
USE icMedic
GO
DELETE FROM sys_dbffieldsdesc
GO
-------------------------------------------------------
---------------Справочники ТФОМС-----------------------
-------------------------------------------------------
--1. Перечень ЛПУ республики
INSERT INTO sys_dbffieldsdesc
([uTABLE_NAME],[uFIELD_NAME],[uFIELD_DISPNAME],[uFIELD_DESC])
select 'LPU' as [uTABLE_NAME],'LPU_UID' as [uFIELD_NAME],'Код ЛПУ' as [uFIELD_DISPNAME],'Уникальный код ЛПУ внутри республики' as [uFIELD_DESC]
UNION ALL
select 'LPU', 'NAME', 'Наименование', 'Наименование ЛПУ'
UNION ALL
select 'LPU', 'OKATO', 'ОКАТО', 'Код ОКАТО местоположения ЛПУ'
UNION ALL
select 'LPU', 'OKPO', 'ОКПО', 'Код ОКПО ЛПУ'
UNION ALL
select 'LPU', 'Deleted', 'Удален', 'Признак удаления'
GO
Ответить с цитированием
  #5  
Старый 05.09.2007, 11:21
Canadec Canadec вне форума
Прохожий
 
Регистрация: 18.07.2007
Сообщения: 13
Репутация: 10
По умолчанию

Основные мои данные (типа эдитов и мемо-полей будут хранится в таблице А, например номер по порядку, дата, фамилии, квитанции), ну а данные ( бананы, яблоки, кол, цена и т.д.) из грида наверное нужно сохранять в таблицу Б.
При открытии нужной записи из таблицы А, (по какому-то полю: один(например номер п.п. табл А) - ко многим (данные из табл Б)) мы заполняем грид данными(бананы, яблоки, и т.д.) из таблицы Б.
Меня интересует как сделать все это проще, создавать табл Б или есть другой способ
Ответить с цитированием
  #6  
Старый 12.09.2007, 18:31
Elv Elv вне форума
Прохожий
 
Регистрация: 11.09.2007
Сообщения: 17
Репутация: 10
По умолчанию

Цитата:
Сообщение от Canadec
Меня интересует как сделать все это проще, создавать табл Б или есть другой способ
Проще будет не работать с table'ами. Подробнее ответить не получится.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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