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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.11.2007, 11:41
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию Совет для чайника

Здравствуйте All !!!

Я работаю сервисником по кассовым аппаратам. Когда-то, писал на FoxPro, TurboPascal, Basic под DOS. Сейчас мне нужна программа для учета кассовых аппаратов. Почитал много форумов, и остановился на Delphi.
На даной стадии вопрос таков: У меня есть все данные в MS Excel. При написании проги где проще работа с данными? Если в Excel то подскажите где можно что-то нормальное почитать. Если же посоветуете делать другую базу. то всеравно нужно литературу !!!
Ответить с цитированием
  #2  
Старый 03.11.2007, 12:06
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от TAV17
Здравствуйте All !!!
Почитал много форумов, и остановился на Delphi.
При написании проги где проще работа с данными? Если в Excel то подскажите где можно что-то нормальное почитать. Если же посоветуете делать другую базу. то всеравно нужно литературу !!!

Почитай ещё некоторые форумы и определись с базой.
Учти все аспекты, а также типы данных и размеры данных, которые будут храниться в базе, её размещение (локальная или сетевая).
Исходя из этого делай вывод.
В Делфи в работе со всеми базами есть свои + и - .
Как определишся дай знать!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #3  
Старый 03.11.2007, 18:20
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

Значит что мне нужно:
1. Данные символьные, числовые, дата - форматы.
2. Операции с даными: выборка по условию, добавление, удаление записей, сортировка по разным критериям, канечно печать бланков, справок, договоров с заполнением из базы даных.
Ответить с цитированием
  #4  
Старый 05.11.2007, 09:22
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

Ладно! Советовать не хотите, может у кого есть исходники, чтобы мспользовать как пример работы с базой, (добаление, удаление, редактирование, выборка по условию, сортировка, и печать бланков из ВОРДА или ЕКСЕЛЯ с некоторыми данными из базы). Выложите пожулуйста, ато я совсем уже запутался.

Заранее спасибо.
Ответить с цитированием
  #5  
Старый 05.11.2007, 12:41
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Пробуй базы под Paradox и SQL. Они вроде подходят для таких манипуляций, а также удобны в использовании.

P.S. Я лично использую Paradox 7. Меня устраивает во всех смыслах.
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #6  
Старый 05.11.2007, 14:33
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

Для Парадокса еще надо сам ПАРАДОКС ? А если в МС Аксцесе лепить? Но нужен хотя бы любой исходник для примера, что-бы наглядно посмотреть как это все организовуется! Киньте кто нибудь, плиз !
Ответить с цитированием
  #7  
Старый 05.11.2007, 14:37
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Ты на Делфи собираешся писать или нет?
Если да, то в комплект установки Делфи входит BDE Administrator. Там всё это дело есть! Работай с ним.
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #8  
Старый 05.11.2007, 19:02
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

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

Держи.
Прога тестовая на базе Парадокс 7.
Без использования БДЕ Администратора!
http://www.delphisources.ru/forum/at...1&d=1194334989
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 16.08.2009 в 16:39.
Ответить с цитированием
  #10  
Старый 06.11.2007, 19:34
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

Спасибо, сейчас буду разбираться. Я уже немного смотрел ОДА и Аксцес, пробовал что-то лепить, только вот вывод отчетов пока туговато. Сегодня видел видел книгу DELPHI - 44 $ прикол.
Ответить с цитированием
  #11  
Старый 07.11.2007, 11:12
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Поищи здесь, есть интересные варианты:
http://www.delphisources.ru/pages/so...base/1_db.html
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #12  
Старый 07.11.2007, 19:19
Аватар для TAV17
TAV17 TAV17 вне форума
Прохожий
 
Регистрация: 31.10.2007
Сообщения: 7
Репутация: 10
По умолчанию

Спасибо большое !
Ответить с цитированием
  #13  
Старый 08.11.2007, 11:38
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Удачи!
Обращайся, если чё!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #14  
Старый 14.11.2007, 15:47
JIexa JIexa вне форума
Прохожий
 
Регистрация: 02.09.2007
Сообщения: 38
Репутация: 10
Печаль База данных школа!

Вообщем решил сделать базу данных "Школа", но почему-то ничего не получилось! Все сделал как написано, но таблица не формируется ! Очень надо сделать, помогите разобраться! Может у кого-нибудь есть исходник только делать надо через Database Desktop, а тот что на сайте в исходниках сделан через Exel:

Цитата:
Выбор информации из базы данных

При работе с базой данных пользователя, как правило, интересует не все ее содержимое, а некоторая конкретная информация. Найти нужные сведения можно последовательным просмотром записей. Однако такой способ поиска неудобен и малоэффективен.

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

Для выборки из базы данных записей, удовлетворяющих некоторому критерию, предназначен компонент Query (рис. 17.17).

Рис. 17.17. Значок компонента Query

Компонент Query похож на компонент Table, но, в отличие от последнего, он представляет не всю базу данных (все записи), а только ее часть — записи, удовлетворяющие критерию запроса.

В табл. 17.18 перечислены некоторые свойства компонента Query.

Таблица 17.18. Свойства компонента Query



Свойство


Определяет



Name


SQL

Active


Имя компонента. Используется компонентом Datasource для связи результата выполнения запроса (набора записей) с компонентом, обеспечивающим просмотр записей, например DBGrid

Записанный на языке SQL запрос к базе данных (к таблице)

При присвоении свойству значения True активизирует выполнение запроса



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

В общем виде запрос на выборку из таблицы данных выглядит так:

SELECT Список-Полей FROM Таблица WHERE (Критерий) ORDER BY СписокПолей

где:

* SELECT — команда выбора записей из таблицы и вывода содержимого полей, имена которых указаны в списке;
* FROM — параметр команды, который определяет имя таблицы, из которой нужно сделать выборку;
* WHERE — параметр, который задает критерий выбора. В простейшем случае критерий — это инструкция проверки содержимого поля;
* ORDER BY - параметр, который задает условие, в соответствии с которым будут упорядочены записи, удовлетворяющие критерию запроса.

Например, запрос

SELECT Fam, Name FROM ':Школа:school.db' WHERE

(Class = '10a') ORDER BY Name, Fam

обеспечивает выборку из базы данных "Школа" (из таблицы School.db) записей, у которых в поле class находится текст 10а, т. е. формирует упорядоченный по алфавиту список учеников 10-а класса.

Другой пример. Запрос

SELECT Fam, Name FROM ":Школа:school.db" WHERE

(Fam > 'K') and (Fam < 'Л') ORDER BY Name, Fam

обеспечивает выбор информации об учениках, фамилии которых начинаются на букву К.

Запрос может быть сформирован и записан в свойство SQL во время разработки формы или во время работы программы.

Для записи запроса в свойство SQL во время разработки формы используется редактор списка строк (рис. 17.18), окно которого открывается в результате щелчка на кнопке с тремя точками в строке свойства SQL окна Object Inspector.

Рис. 17.18. Пример запроса к базе данных "Школа"

Свойство SQL представляет собой список строк. Поэтому чтобы сформировать запрос во время работы программы, нужно, используя метод Add, добавить строки (SQL-инструкции) в список SQL.

Ниже приведен фрагмент кода, который формирует запрос на поиск информации о конкретном человеке (критерий выбора — содержимое поля Fam должно совпадать со значением переменной fam).

with forml.Queryl do begin

Close; // закрыть файл — результат выполнения

// предыдущего запроса

SQL.Clear; // удалить текст предыдущего запроса

// записываем новый запрос в свойство SQL

SQL.Add('SELECT Fam, Name, Class1);

SQL.Add('FROM ":Школа:school.db"');

SQL.Add('WHERE');

SQL.Add('(Fam = '" + fam + '")');

SQL.Add('ORDER BY Name, Fam');

Open; // активизируем выполнение запроса

end;

Следующая программа, ее текст приведен в листинге 17.2, а диалоговое окно — на рис. 17.19, демонстрирует возможность изменения запроса, точнее, критерия запроса, во время работы программы. Программа обеспечивает вывод как всего списка учеников, так и его части. Например, посредством выполнения запроса выводится информация только о конкретном ученике.

Для просмотра базы данных и результата выполнения запроса используется компонент DBGrid1, который через компонент DataSourcel взаимодействует с компонентом Table1 (при просмотре всей базы данных) или с компонентом Query (при просмотре результата выполнения запроса).

Рис. 17.19. Форма приложения База данных Школа

Листинг 17.2. База данных "Школа"

unit school2_;

interface

uses
Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms,

Dialogs,Grids, DBGrids, Db,

DBTables, ExtCtrls, DBCtrls, StdCtrls;

type
TForm1 = class(TForm)
Table1: TTable; // таблица (вся база данных)
Query1: TQuery; // запрос (записи БД, удовлетворяющие критерию выбора)
DataSource1: TDataSource; // источник данных - таблица или запрос
DBGrid1: TDBGrid; // таблица для отображения БД или результата выполнения запроса
DBNavigator1: TDBNavigator;
DBText1: TDBText;
Button1: TButton; // кнопка запрос
Button2: TButton; // кнопка Все записи
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

// щелчок на кнопке Запрос
procedure TForm1.Button1Click(Sender: TObject);
var
fam: string[30];
begin
fam:=InputBox('Выборка информации из БД',
'Укажите фамилию и щелкните на OK.', '');
if fam <> '' // пользователь ввел фамилию
then
begin
with form1.Query1 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add('SELECT Fam, Name, Class');
SQL.Add('FROM ":Школа:school.db"');
SQL.Add('WHERE');
SQL.Add('(Fam = "'+ fam + '")');
SQL.Add('ORDER BY Name, Fam');
Open; // активизируем выполнение запроса
end;

{ *** другой вариант изменения критерия запроса
begin
Query1.Close;
Query1.SQL[3]:='(Fam="'+ fam + '")';
Query1.Open;
DataSource1.DataSet:=Query1;
end;
}
if Query1.RecordCount <> 0 then
DataSource1.DataSet:=Query1 // отобразить рез-т выполнения запроса
else begin
ShowMessage('В БД нет записей, удовлетворяющих критерию запроса.');
DataSource1.DataSet:=Table1;
end;
end;
end;

// щелчок на кнопке Все записи
procedure TForm1.Button2Click(Sender: TObject);
begin
DataSource1.DataSet:=Table1; // источник данных - таблица
end;

// активизация формы
procedure TForm1.FormActivate(Sender: TObject);
begin
DataSource1.DataSet := Table1;
Table1.Active := True;
end;

end.

Процедура TForm1.Button1Click запускается щелчком кнопки Запрос. Она принимает от пользователя строку (фамилии) и записью (добавлением) строк в свойство SQL формирует текст запроса. Затем эта процедура вызовом метода Open активизирует выполнение запроса.

Следует обратить внимание на то, что перед изменением свойства SQL-запрос должен быть закрыт при помощи метода close (здесь надо вспомнить, что результат выполнения запроса — это файл данных (таблица), который создается в результате выполнения запроса).

Процедура TForm1.Button2Click, которая запускается щелчком кнопки Все записи, устанавливает в качестве источника данных для компонента DataSourcel компонент Table1, тем самым обеспечивая переход в режим просмотра всей базы данных.

Если запрос записан в свойство SQL во время разработки формы приложения, то во время работы программы критерий запроса можно изменить простой заменой соответствующей строки текста запроса.

Например, для запроса

SELECT DISTINCT Fam, Name, Class FROM ":Школа:school.db" WHERE

(Class= '10а') ORDER BY Name, Fam

инструкция замены критерия запроса может быть такой:

forml.Query1.SQL[3]:='(Fam="' + fam+ '")'

Следует обратить внимание на то, что свойство SQL является структурой типа TStrings, в которой строки нумеруются с нуля.

Если что вот то что я сделал:
http://slil.ru/25102014
Ответить с цитированием
  #15  
Старый 15.11.2007, 12:24
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

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


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter