Читать «Виртуальная библиотека Delphi» онлайн - страница 95
Unknown
16. Как установить фокус на определенное поле в TDBGrid?
Используйте код:
DBGrid1.SelectedField := Table1SomeField;
DBGrid1.SetFocus;
17. Как создать обработчик события OnClick для TDBGrid?
Как и всякий
18. Как создать маску для TDBEdit?
Маска относится к полю в таблице (компонент
19. Хотелось бы иметь для OLE объектов, сохраненных в базе данных, компонент вроде TDBImage.
В стандартном наборе такого компонента действительно нет. Возможно, кто-нибудь скоро напишет что-нибудь в этом роде. В принципе, можно обойтись и без данного компонента. Например, есть табличка .db с BLOB полем для OLE объекта. При движении по записям можно OLE сохранять в базе, уничтожать, создавать новый, считывать из базы.
Чтение/запись OLE:
• создать поток, связанный с BLOB полем
• для OLE контейнера выполнить чтение/запись с потоком (
Естественно, OLE объект должен быть Embedded.
20. Что нужно сделать, чтобы при открытии запароленной таблицы не появлялся диалог запроса пароля?
Просто дайте этот пароль объекту
Session.AddPassword('PASSWORD');
После закрытия таблицы, пароль можно удалить
Если ваш компонент доступа к данным (
21. Как определить реальный размер поля типа BLOB, которое сохранено в таблице?
Ниже приведена функция
function GetBlobSize(Field: TBlobField): Longint;
begin
with TBlobStream.Create(Field, bmRead) do
try
Result := Seek(0, 2);
finally
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IntToStr(GetBlobSize(Notes));
end;
22. Как осуществить поиск по неиндексированному полю в таблице?