Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 20.05.02 09:04

Обновился дайджест по FAQ. Скачать можно здесь
Вышел очередной дайджест форумов. Скачать можно здесь
Лучшее из нашего FAQ   |x|
SQL
»»» Merle Corey (07.07.00 12:36)
Существует следующая проблема: есть 4 таблицы в БД ORACLE -- Карточки, Пересылки, Исполнители и Департаметы. Связь сл. : К каждому департаменту привязаны исполнители. С исполнителями связаны пересылки. Ну а Пересылки связаны с карточками.
Необходимо подсчитать кол-во карточек для каждого департамента. Как это сделать пошустрее.

»»» kingdom - kingdom@tepkom.ru (08.07.00 21:27)
У меня были похожие проблемы, пришлось делять вложенный СКуЛь запрос типа select ... from (select .. from (select ...)) ну и применить соответсвующую функцию для подсчета (если очень дано могу позже написать как сейчас не помню),   ... ну млм же вот в Access можно делать запросы прямо в самой MS-Access к которым можно обращаться как к обычным таблицам только понятно их физически нет, так вот в запрос включить все столбцы Карточек и столбец с ID из Департамента тогда все должно быть быстро, попробуй...

-= Из конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-

Комментарий: "Anton Khalikov" (admin@karat-e.medialt.ru)

Прикольно, но чуваки забывают, что есть еще понятие view, которое как раз и реализует то же, что и "ну млм же вот в Access можно делать запросы прямо в самой MS-Access к которым можно обращаться как к обычным таблицам только понятно их физически нет"
т.е. пишется просто - create view test as select ...
и дальше select ... from test, ...
ну а в крайнем случае можно написать хранимую процедуру.


Комментарий от "Vladimir Krinitsin" (vvkrinitsin@hotmail.com)
обычно делают так:

select count(Карточки.*), Деп.Имя from Карточки
join Пересылки on ... join Исп. on... join Деп on...
group by Деп.Имя


Комментарий от "Grigory V Dutikov" (dutikov@accum.kursk.ru)
Правильно для ORACLE:

create view CountCard
as select count( k.*), d.DepName
from Департамент d, Исполнители e, Пересылки p, Карточки k
whe! re d.DepName = e.DepName
and   e.ExeName = p.ExeName
and   p.KardName = k.KardName

P.S.
Если на сервере русская кодировка, то имена таблиц и полей можно
писать по русски и без кавычек!!! в Oracle8i и выше

»»» Прислать свои комментарии

Советы по программированию в Дельфи

4) Сохранение всего содержимого буфера обмена  в файл

var   FS:TFileStream;

procedure TForm1.bClearClick(Sender: TObject);
begin
OpenClipBoard(0);
EmptyClipboard;
CloseClipBoard;
end;

procedure TForm1.BSaveClick(Sender: TObject);
var CBF:Cardinal;
CBFList:TList;
i:Integer;
h:THandle;
p:Pointer;
CBBlockLength,Temp:Cardinal;
FS:TFileStream;
begin
if OpenClipBoard(0)then begin
 CBFList:=TList.Create;
 CBF:=0;
 repeat
   CBF:=EnumClipboardFormats(CBF);
   if CBF<>0 then
     CBFList.Add(pointer(CBF));
 until CBF=0;
 edit1.text:=IntToStr(CBFList.Count);
 if CBFList.Count>0 then begin
   FS:=TFileStream.Create('e:\cp.dat',fmCreate);
   Temp:=CBFList.Count;
   FS.Write(Temp,SizeOf(Integer));
   for i:=0 to CBFList.Count-1 do begin
     h:=GetClipboardData(Cardinal(CBFList[i]));
     if h>0 then begin
       CBBlockLength:=GlobalSize(h);
       if h>0 then begin
         p:=GlobalLock(h);
         if p <> nil then begin
           Temp:=Cardinal(CBFList[i]);
           FS.Write(Temp,SizeOf(Cardinal));
           FS.Write(CBBlockLength,SizeOf(Cardinal));
           FS.Write(p^,CBBlockLength);
         end;
         GlobalUnlock(h);
       end;
     end;
   end;
   FS.Free;
 end;
 CBFList.Free;
 CloseClipBoard;
end;
end;

procedure TForm1.bLoadClick(Sender: TObject);
var   h:THandle;
p:Pointer;
CBF:Cardin! al;
CBBlockLength:Cardinal;
i,CBCount:Integer;
FS:TFileStream;
begin
if OpenClipBoard(0)then begin
FS:=TFileStream.Create('e:\cp.dat',fmOpenRead);
if FS.Size=0 then Exit;
FS.Read(CBCount,sizeOf(Integer));
if CBCount=0 then Exit;
for i:=1 to CBCount do begin
 FS.Read(CBF,SizeOf(Cardinal));
 FS.Read(CBBlockLength,SizeOf(Cardinal));
 h:=GlobalAlloc(GMEM_MOVEABLE or GMEM_SHARE or GMEM_ZEROINIT,CBBlockLength);
 if h>0 then begin
   p:=GlobalLock(h);
   if p=nil then
     GlobalFree(h)
     else begin
       FS.Read(p^,CBBlockLength);
       GlobalUnlock(h);
       SetClipboardData(CBF,h);
   end;
 end;
end;
FS.Free;
CloseClipBoard;
end;
end;

(на основе кода Peter Below)

Автор: Б. Новгородов (MBo)

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
Сохранение и загрузка данных в объекты на примере коллекций.
Если в Вашей программе используются классы для описания объектов некоторой предметной области, то данные, их инициализирующие, можно хранить и в базе данных. Но можно выбрать гораздо более продуктивный подход, который доступен в Delphi.
Новинки книжного рынка   |x|
Delphi 6. Базы данных и приложения
В книге предпринята попытка дать читателю целостное представление о процессе разработки программного обеспечения для реляционных баз данных.
В рамках поставленной цели авторами решены следующие задачи: рассмотрены основы языка Object Pascal на примере создания консольных приложений; рассмотрены объектно-ориентированные возможности языка Object Pascal и технология визуального программирования; описаны основные принципы работы с SQL-ссрвером InterBase; изложена методика взаимодействия программ, созданных в среде Delphi, с базами данных различного типа, в частности, SQL-сервером InterBase: рассмотрены основы проектирования баз данных с использованием программы ERwin; описана "методика разработки клиентского приложения для доступа к базам данных с использованием библиотек динамической загрузки, а также популярных программ Word и Excel для создания отчетов. На примере БД "Учебные компьютерные курсы" рассмотрен процесс разработки программного обеспечения, начиная с вопросов проектирования и заканчивая подготовкой отчетов.
Книга может быть использована в качестве основы курса лекции по соответствующей дисциплине.
Книга предназначена для старшеклассников, студентов, аспирантов, преподавателей и пользователей ПК, интересующихся программированием.

Автор: Кандзюба С. "ДиаSoft"
Другие сайты о DELPHI   |x|
Delphi
Конференция по Delphi, нетривиальные вопросы и доходчивые ответы, и не только от братьев по оружию, но и из самого Inprise

» Оценка сайта: 3
Опрос населения :)
Новый журнал для программистов "RSDN Magazine". За какую сумму вы готовы его покупать?
»»» 80р.
»»» 100р.
»»» 120р.
»»» 150р.
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
Льет весенний дождь!
По пути беседуют
Зонтик и мино.

Афоризмы
В ситуации, когда ты не знаешь, что делать - не делай ничего....

Фраза дня
...и написал Иисус конвертер water2wine, и стал раздавать его freeware...

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Провиденсе, Род Айланд (США), в магазинах запрещено по воскресеньям продавать зубную щетку и пасту одному и тому же покупателю.
В Аризоне (США) под угрозой штрафа запрещено класть спать осла в ванной.

И на закуску коротенький анекдот
- Мама, скажи: фунь.
- Зачем?
- Ну, скажи.
- Да что это хоть такое?
- Какая тебе разница, просто скажи: фунь!
- Не буду я повторять глупости, которых не понимаю!
- Вот и меня не заставляй английский учить!

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=26211


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное