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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2013, 19:04
Yasha Yasha вне форума
Прохожий
 
Регистрация: 07.05.2013
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Из Word в бд

В Worde имеется структурированная таблица. Необходимо данные из нее переместить в Delphi в бд.
Пока что я нашла только перенос таблицы в StringGrid, но проблема в том, что мне необходимо будет данные откорректировать (то есть если какая-то ячейка в таблице пустая - удалить всю строку). Мне не нужен код сначала и до конца, а хотя бы примерный план действий и посредством каких функций. Буду очень признательна)
Ответить с цитированием
  #2  
Старый 07.05.2013, 20:02
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

1. перенеси код из Word в Excel ... проще будет портировать данные
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #3  
Старый 07.05.2013, 20:06
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну в StringGrid можно тоже довольно успешно редактировать данные. Но там нет метода удаления строки, потому придется это дело ручками реализовать.
Первый этап - импорт данных вы сделали, осталось только эти данные подправить. Делаете в цикле по всем строкам StringGrid обход. Вот примерный код как будет выглядеть удаление строк если ячейка пуста:
Код:
procedure TForm1.Button2Click(Sender: TObject);
Var Row,Col,R: Integer;
begin
 for Row := StringGrid1.RowCount - 1 downto StringGrid1.FixedRows
 do for Col := StringGrid1.FixedCols to StringGrid1.ColCount - 1
    do if StringGrid1.Cells[Col,Row] = ''
       then begin
            for R := Row + 1 to StringGrid1.RowCount - 1
            do begin
               StringGrid1.Rows[R-1] := StringGrid1.Rows[R];
               StringGrid1.Rows[R].Clear;
               end;
            Break;
            end;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Yasha (21.05.2013)
  #4  
Старый 13.05.2013, 08:59
Yasha Yasha вне форума
Прохожий
 
Регистрация: 07.05.2013
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Большое спасибо.
Теперь такой вопрос - я создала пустую бд с нужными полями в MS Access, настроила ADO компоненты на подключение к бд, и теперь данные из StringGrid необходимо переместить в бд, видимо, с помощью sql-запросов.

INSERT INTO bd1 ( поля-поля-поля...)
VALUES (???);

Вот что в скобках написать?
Ответить с цитированием
  #5  
Старый 13.05.2013, 09:20
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Значения писать. Ваш К.О.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
Yasha (13.05.2013)
  #6  
Старый 13.05.2013, 10:04
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Yasha
Код:
INSERT INTO bd1 ( поля-поля-поля...)
VALUES (???);
Вот что в скобках написать?
Код:
INSERT INTO bd1 (поле1, поле2, поле3)
VALUES (значение_для_поле1, значение_для_поле2, значение_для_поле3);
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #7  
Старый 21.05.2013, 12:28
Yasha Yasha вне форума
Прохожий
 
Регистрация: 07.05.2013
Сообщения: 7
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А массив как-то можно туда запихать? Или только заранее известные значения?
Ответить с цитированием
  #8  
Старый 21.05.2013, 15:10
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

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


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter