Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Программа с базой данных


Автор: SergV 23.3.2008, 12:27
Помогите разобраться с базой данных.
В общем такая загвоздка. Я уже почти 3 года не подходил к delphi, чуток подзабыл что к чему, а что касается базы, так и вообще ноль, так как не чего с базами под дельфи не делал, только для MySQL с пхп.
Хочу сделать несложную программку с базой для себя, так как нечего подходящего не нащёл. В общем интересуют пара вопросов.
1. Какую базу лучше выбрать? На данный момент я попробовал пока сделать несколько таблиц в Paradox7, потому что ток под эту базу в книге есть пример. В принципе для моих задач этого должно хватить, но возможно это не лучший и устаревший вариант, или я неправ.
2. Для локальной базы, требуются длл-ки вместе с программой, чтобы прога работала на любом компе. Тут я разобрался только с парой длл, а какие ещё нужны незнаю. Может кто знает список основных длл, постовляемых с программой, ато сколько не искал, ответа так и не нащёл. В книге вообще только одну основную указали, а про остальные типа и другие.
3. Что ещё нужно учитывать при создании программы с базой данных на дельфи, и всё ли есть для баз в TurboDelphi2006?

И просьба не посылать в поиск, искал я уже, и не нащёл, да и пойди найди, когда на запрос про базу данных и длл, выдаёт сотню страниц, где ответом и не пахнет. 

Автор: SergV 23.3.2008, 14:34
Вроде бы нашёл ответ по 2, буду разбираться.

Автор: 1Andrey1 23.3.2008, 19:38
а зачем  Paradox? По моему самый простой вариант база access и доступ к ней через ADO. Или нужно чтото сложнее?

Автор: SneG0K 23.3.2008, 19:46
Я тоже думаю, что ассес тебе подойдет полностью!!! Paradox7 - устарел и не надежен, там постоянно сбиваются таблицы индексов... Если надо могу примерчик черконуть  smile 

Автор: 1Andrey1 23.3.2008, 19:56
в общем если вкратце то:

Код


uses
DB, ADODB;

var
dbname:string//путь к файлу базы
ADOconnection1: TADOconnection;
Table1: TADOTable;
DataSource1: TDataSource;


begin
ADOconnection1:=TADOconnection.Create(application);
ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+dbname+';Persist Security Info=False';
ADOconnection1.LoginPrompt:=false;
ADOconnection1.Connected:=true;
ADOQuery1: TADOQuery;

Table1:=TADOTable.Create(application);
Table1.Connection:=ADOconnection1;
Table1.TableName:='TableName';
Table1.Active:=true;
Table1.Fields[0].Visible:=false;


DataSource1:= TDataSource.Create(application);
DataSource1.DataSet:=Table1;

//ну или через Query
ADOQuery1:= TADOQuery.Create(application);
ADOQuery1.Connection:= ADOconnection1;

DataSource1.DataSet:=ADOQuery1;

ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('FROM TableName');
ADOQuery1.Active:=true;


Form1.DBgrid1.DataSource:=DataSource1;
end;

Автор: SergV 24.3.2008, 13:02
Цитата

Paradox7 - устарел и не надежен, там постоянно сбиваются таблицы индексов... 

Это я вчера заметил, пока разбирался, да и в 2006 дельфине вроде уже подключение идёт по другому, смог базу подключить через доп.компонент, который в примере в книге не упоминается. А без него не возможно соединить между собой основные компоненты. А с ним, дбнавигатор не хочет делать изменения в таблице, только что и работает как навигационный, а сохранять приходится через свой код.

Насчет ADO я уже вчера подумывал, хотел глянуть демки из комплекта, но не смог запустить не одной демки не для какой базы, при загрузке демки в редактор, выдаёт что нет доступа к базе, и компоненты для работы с базой не грузит.

1Andrey1, спасибо за пример, гляну что к чему.

SneG0K, от примерчиков не откажусь, так как по ADO у меня в книге только короткое описание, книга для 6-го дельфина, уже 5 лет ей. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)