Author Topic: Помогите с БД..................На Inter BAse  (Read 12616 times)

0 Members and 1 Guest are viewing this topic.

Offline Дмитрий Жданов

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #20 on: July 01, 2007, 16:14:43 »
Quote from: CRonaldo
Т.е. процедуры у тебя в интербэйзе храняться, а из Дельфи ты их вызываешь?
А у меня всё в Дэльфи обрабатывается, там возможностей больше, поэтому и решил там их делать. Твой вариант наверное шустрее должен работать, хотя думаю разницы почти нет.


Нет процедуры в Dаta Set хранятся. Их автоматически сгенерировать можно......А потом, при нажатии кнопки например, происходит их вызов.
Для примера:

with Modul do begin
DatPat.Insert;
end;

И не надо париться полностью весь SQL код прописывать на кнопке. Процедура в DataSet постоянно хранится)

Ты не в Областной детской больнице БД делаешь??

Offline CRonaldo

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #21 on: July 01, 2007, 16:55:22 »
Quote from: Дмитрий Жданов
Нет процедуры в Dаta Set хранятся. Их автоматически сгенерировать можно......А потом, при нажатии кнопки например, происходит их вызов.
Для примера:

with Modul do begin
DatPat.Insert;
end;

И не надо париться полностью весь SQL код прописывать на кнопке. Процедура в DataSet постоянно хранится)

Ты не в Областной детской больнице БД делаешь??

Нет  

Ты имеешь в виду свойство DataSet.InsertSQL или DataSet.UpdateSQL что ли? А так я ХЗ где там процедуры хранятся!? Если это - то я так и делаю, собственно для этого ДатаСет в основном и нужен!
Кстати фильтр пробовал через свойство Filter делать?

Offline Дмитрий Жданов

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #22 on: July 01, 2007, 19:08:29 »
Quote from: CRonaldo
Нет  

Ты имеешь в виду свойство DataSet.InsertSQL или DataSet.UpdateSQL что ли? А так я ХЗ где там процедуры хранятся!? Если это - то я так и делаю, собственно для этого ДатаСет в основном и нужен!
Кстати фильтр пробовал через свойство Filter делать?


Нет)
Я через DataSet Editor автоматически эти свойства генерирую (содержание их).
А зачем тебе фильтр нужен??

Ты не знаешь как сделать, чтобы картинки в базе сохранялись??? А то ругается Delphi что то

Offline CRonaldo

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #23 on: July 01, 2007, 21:49:07 »
Quote from: Дмитрий Жданов
Ты не знаешь как сделать, чтобы картинки в базе сохранялись??? А то ругается Delphi что то
Не пробовал, в понедельник попробую отпишусь. Знаю что для этого BLOB поля нужно использовать в базе.

Offline CRonaldo

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #24 on: July 02, 2007, 14:18:48 »
Вот тебе процедурка, при нажатии на кнопку рисунок сохраняется в базу из внешнего файла. Из книги достал, сам бы не догадался   Фишка в том, что нужно использовать потоки класса TStream, и обязательно перевод Таблицы в режим Edit! Если чё сам не пробовал, но думаю здесь всё верно.

procedure TMainForm.OpenBClick(Sender: ТОbjесt);
var S: TStream;
FileS: TFileStream;  
begin
if not OpenD.Execute then exit;
pFIBDataSet1.Edit;
 S := pFIBDataSet1.CreateBlobStream(pFIBDataSet1.FieldByName('GRAPHIC') , bmReadWrite);
try
FileS := TFiIeStream.Create(OpenD.FileName, fmOpenRead);
S.CopyFrom(FileS, FileS.Size);  
finally
FileS.Free;
S.Free;
pFIBDataSet1.Post;
end;
end;

Offline Дмитрий Жданов

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #25 on: July 02, 2007, 20:32:16 »
Quote from: CRonaldo
Вот тебе процедурка, при нажатии на кнопку рисунок сохраняется в базу из внешнего файла. Из книги достал, сам бы не догадался   Фишка в том, что нужно использовать потоки класса TStream, и обязательно перевод Таблицы в режим Edit! Если чё сам не пробовал, но думаю здесь всё верно.

procedure TMainForm.OpenBClick(Sender: ТОbjесt);
var S: TStream;
FileS: TFileStream;  
begin
if not OpenD.Execute then exit;
pFIBDataSet1.Edit;
 S := pFIBDataSet1.CreateBlobStream(pFIBDataSet1.FieldByName('GRAPHIC') , bmReadWrite);
try
FileS := TFiIeStream.Create(OpenD.FileName, fmOpenRead);
S.CopyFrom(FileS, FileS.Size);  
finally
FileS.Free;
S.Free;
pFIBDataSet1.Post;
end;
end;


Спасибо  Только он на FileS := TFiIeStream.Create(OpenPictureDialog1.FileName, fmOpenRead);
 ругается....пишет, что TStream - неизвестный идентификатор. Библиотеку похоже подключить надо какую то) Не подскажешь как книжка называется??
« Last Edit: July 02, 2007, 20:33:06 by Дмитрий Жданов »

Offline CRonaldo

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #26 on: July 02, 2007, 21:30:02 »
Quote from: Дмитрий Жданов
Не подскажешь как книжка называется??
Мир InterBase.
Ковязин А. Н., Востриков С. М.
У меня она в электронном виде.

Offline Дмитрий Жданов

  • Newbie
  • *
  • Posts: 18
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #27 on: July 03, 2007, 18:17:01 »
Quote from: CRonaldo
Мир InterBase.
Ковязин А. Н., Востриков С. М.
У меня она в электронном виде.


 Спасиба...у меня она есть)   А библиотека какая не в курсе???

Offline CRonaldo

  • Jr. Member
  • **
  • Posts: 50
  • Karma: +0/-0
Помогите с БД..................На Inter BAse
« Reply #28 on: July 03, 2007, 21:44:17 »
Quote from: Дмитрий Жданов
Спасиба...у меня она есть)   А библиотека какая не в курсе???
нет