БД (Delphi)

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:08

Создал табличку в Database Desktop
[spoiler]Изображение[/spoiler]
Поместил на форму из фкладки BDE Ttable, указал в поле TableName адрес таблицы, при попытке открыть её

Код: Выделить всё

tTest.Active := True;
возникает ошибка.
[spoiler]Изображение[/spoiler]
Что не так?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:13

Может ключ надо задать?

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:16

В примере туда ничего не заносили.

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:18

Тебе обязательно этот Paradox нужен?
У него есть некоторые проблемы с индексами.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:20

Нет не обязательно, что нашёл то и пробую.

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:22

Лучше что-нибудь более современное и используемое выбирать. Какова задача или пока просто хочешь с базами данных разобраться?

Аватара пользователя
vlad
Супермодератор
Супермодератор
Сообщения: 233
Зарегистрирован: 02 фев 2012, 11:42

Re: БД (Delphi)

Сообщение vlad » 06 фев 2012, 16:27

MySQL самое оно. Ну или файловые MS Access или H2.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:28

Кстати действительно если id задать ключём, то всё открывается и записывается. Задача перенести данные пользователей плагинов в БД и работать с ней, а не с загруженным в память массивом.

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:30

Для индексирования id обязателен, это в любой БД.
Я просто с Paradox и BDE никогда не работал, всё через ADO или ODBC делал.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:34

В чём у них различия и есть ли преимущества?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:43

ADO - это более универсальный способ доступа к БД, работает с любой базой. ODBC в данном случае использовать не стоит, потому что там как минимум надо ставить драйвер, а это значит что нужны права админа. А вот использовать BDE и нормальные базы не пробовал.
Только вот в данном случае лучше выбрать какую-либо файловую БД типа MS Access или H2. Что лучше работает скажу через несколько минут.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:45

А что насчёт dbExpress?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 16:50

Для подобного задания этого достаточно. Но только это интерфейс, а не сама база. В принципе для этого и тот же Paradox подойдёт. Только надо проверить как всё это работает в X2, да ещё и на семёрке.

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 16:53

Andrey писал(а):Для подобного задания этого достаточно.
Чего этого? dbExpress или ADO?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 17:12

dbExpress

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 17:19

Вот что dbExpress поддерживает:
Безымянный.png

Аватара пользователя
Maximus
Супермодератор
Супермодератор
Сообщения: 1507
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Maximus » 06 фев 2012, 17:24

И где для него БД создавать?

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 17:34

Это всё серверные базы. ADO для тебя может показаться сложным, поэтому наверно всё же лучше оставить Paradox и BDE соответственно.

Аватара пользователя
vlad
Супермодератор
Супермодератор
Сообщения: 233
Зарегистрирован: 02 фев 2012, 11:42

Re: БД (Delphi)

Сообщение vlad » 06 фев 2012, 17:35

Можно через тот же dbExpress к MySQL подключаться.

Аватара пользователя
Andrey
Администратор
Администратор
Сообщения: 2345
Зарегистрирован: 02 фев 2012, 11:42
Откуда: Воронеж
Контактная информация:

Re: БД (Delphi)

Сообщение Andrey » 06 фев 2012, 17:38

vlad, можно. Но реакция тех кто будет это использовать будет примерно такой: "Что, ещё и MySQL ставить?". Поэтому надо что-то простое использовать.

Ответить