Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2008, 20:00   #1
~LiS~
Пользователь
 
Регистрация: 10.11.2007
Сообщений: 14
По умолчанию Вопрос с тем кто знает БД на Paradox7.

Изучаю БД по книжке, решил начать с чего попроще т.е. с Paradox7. Сделать так как предлагает автор не получаеться уже третий раз, но до сих пор т.к. ошибки были связанны с программированием на Delphi, я как то справлялся но сейчас встал в тупик.
Вот в чём проблема. Есть главная таблица Games. В нём есть поле №12 под названием Comment. Тип поля Memo( Size = 100).
Для дополнения в БД информации автор предлагает такой блок

If Memo1.Lines.Count > 0 then
begin
lobField(DataModule2.Games.Fields[12]).BlobType := ftMemo;
TBlobField(DataModule2.Games.Fields[12]).Assing(Memo1.Lines);
End;

Прошу поснить что конкретно должно произойти после выполнения условия Memo1.Lines.Count > 0. и почему это не работает.
Выдаёться сообщение об ошибках:
Unit5.pas(143): Undeclared identifier: 'TBlobField'
Unit5.pas(143): Missing operator or semicolon
Unit5.pas(143): Undeclared identifier: 'ftMemo'
Unit5.pas(144): Missing operator or semicolon

Спасибо.
~LiS~ вне форума Ответить с цитированием
Старый 10.04.2008, 23:33   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Берем ваш код и вносим некоторые поправки:
If Memo1.Lines.Count > 0 then
begin
Games.Insert; //занесение данных только при их наличии, так ведь?
TBlobField(DataModule2.Games.Fields[12]).BlobType := ftMemo;
TBlobField(DataModule2.Games.Fields[12]).Assign(Memo1.Lines);
Games.Post; //закрепляем результат
еnd;
Теперь по пунктам:
1. что конкретно должно произойти после выполнения условия Memo1.Lines.Count > 0
При выполнении этого условия в поле типа МЕМО, имеющее порядковый номер 12 (нумерация с 0) заносится все содержимое Memo1, т.е все его строки.
2. почему это не работает. Выдаёться сообщение об ошибках. ("ся" - это укороченное "себя". Выдает "себя", но ведь не выдаеть "себя"? Выдаваться, т.е. выдавать себя - это согласен. Извините, уж больно глаз режет, не удержался )
Итак, судя по набору ошибок, в разделе USES у вас не подключены какие-то модули для работы с базами данных. Например, первая ошибка - не подключен модуль DB...
У вас вообще-то на форме есть хотя бы TABLE с именем GAMES, подключенная к таблице, у которой есть поле типа МЕМО ?
Или вы просто внесли этот кусок кода, да еще с неизбежными ошибками?

Последний раз редактировалось mihali4; 11.04.2008 в 00:31.
mihali4 вне форума Ответить с цитированием
Старый 11.04.2008, 11:15   #3
~LiS~
Пользователь
 
Регистрация: 10.11.2007
Сообщений: 14
По умолчанию

" не подключен модуль DB..." - так и есть. Спасибо.
и... гм... Я конечно не профи в написании баз данных и иногда допускаю очень глупые ошибки( и грамматические тоже), но я всё-таки БД изучаю, а не бездумно переписываю.
В любом случает большое спасибо за полезный ответ.
~LiS~ вне форума Ответить с цитированием
Старый 11.04.2008, 13:47   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
а не бездумно переписываю
Я не об этом...
Я имел в виду в том числе и ошибки, внесенные корректором при подготовке книги к печати.
А модуль DB (и некоторые другие) подключается (вносится в список USES) при добавлении на форму компонентов для работы с базами.
Правда нужно иметь в виду, что при группировке этих компонентов в отдельном модуле (у вас это DataModule2) и выносе обработчиков в другую юниту (у вас это Unit5.pas), придется вручную добавлять в раздел USES юниты Unit5.pas некоторые модули для работы с БД.
В небольших проектах допустимо располагать на основной (или дочерней) форме компоненты БД, в этом случае все будет происходить автоматически.

Последний раз редактировалось mihali4; 11.04.2008 в 13:49.
mihali4 вне форума Ответить с цитированием
Старый 14.04.2008, 14:13   #5
~LiS~
Пользователь
 
Регистрация: 10.11.2007
Сообщений: 14
По умолчанию

Я этого не знал. Спасибо.
~LiS~ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FastReport + Paradox7 (Помогите) RudeBWoy Общие вопросы C/C++ 3 27.05.2009 22:11
Кто знает ...? Dubineanschi Microsoft Office Excel 2 15.08.2008 00:36
Кто ЗНАЕТ? Виктор1966 Microsoft Office Word 1 24.03.2008 19:58
перевод таблицы из текстового файла в таблицу paradox7.0 ГОСЕАН БД в Delphi 4 19.07.2007 15:12
Paradox7 нужен выпадающий список. Hellen БД в Delphi 2 18.02.2007 17:17