Subject ANN: Complete application demonstrating how to use SIBPROvider with Interbase; Wrote in Delphi + ADOExpress
Author Marcio Wesley Borges
Greetings,

A lot of people ask us how to develop applications using Interbase and
ADOExpress. This application is to be a guide for this people.
Various techniques are show, like: blob manipulation (images, sound and
memo), array fields, DDL use for database update, several properties are
showing, charts, reports, filter etc.
It is a good guide to develop applications using Interbase+ADOExpress.
It use SIBPROvider like Interbase OLE DB provider, but with few (or a lot)
modifications, you are able to run it with others OLE DB providers.

This version has the following features:

1.01a 2003-01-10:
* (new) Creating a new Database using only ADO;
* (new) Populating a ImageList with images from blob fields;
* (new) Populating ComboBox and showing images;
* (new) Using ADO and Decision Cube components to build usefull Charts;
* (new) Resize an image to fitch into a rect
* (new) Customizing painting in a ComboBox with images and text
* (new) Painting a text centralizing verticaly

1.00a 2003-01-05:
* Using DSO to bind a recordset from an TADOQuery to HTML table element
(like dbgrid);
* Build html and view it in Delphi forms (like a report) with a result set
from a recordset of a
TADOQuery;
* Upgradding database schema (add/change columns, triggers, procedures,
views);
* Configuring database connection string;
* Check connection string is valid, else prompt to user to configure
connection string
* Testing a connection string;
* Getting connetion status (ask if server is alive);
* Working with transactions;
* Using SIBPROvider command/recordset custom properties;
* Getting the generator value assigned by server
* Using reports (DBGrid, HTML, QuickReport) with ADO;
* Use DBGrid to show simple reports;
* Updating a blob field with a image;
* Loading a resource and saving it to a blob field;
* Saving a stream to a blob field;
* Converting GIF to Bitmap;
* Converting Bitmap to GIF;
* Using sophisticated interfaces with end user, for edit, insert, delete,
filter, find and view;
* How to use simple interfaces with no code or few lines of code to edit,
insert, delete and
navigate records from a table;
* Feature full interfaces for edit and insert records;
* Get and show values from array fields;
* Editing and inserting data in tables with foreigners keys composed.
* Geting and displaying images from blob field;
* Geting and updating blob fields with sounds and music;
* Exporting bitmap files from a blob field;
* Finding records;
* Filtering records;
* Refreshing data;
* Assigning recordsets to TADOQuery;
* Loading and saving form or application state;
* Accessing TWebBrowser HTML DOM elements from Delphi;
* Using DBChart;
* Exporting chart images;
* Building complex and rich chart reports with SIBPROvider;
* Access Connection or Command or Recordset or Field properties from
Delphi;
* Populating a ImageList with images from blob fields;
* Populating ComboBox and showing images;
* Using ADO and Decision Cube components to build usefull Charts;
* Resize an image to fitch into a rect
* Customizing painting in a ComboBox with images and text
* Painting a text centralizing verticaly

To be demonstrated in the next versions:

* Handle Interbase/Firebird error codes from ADO;
* Intercepting OLE DB/ADO multi errors;
* How to use ADO Data Shapping with TADOQuery;
* Using Data Shapping with elaborated Charts;

My excuses for multi-post, but I don't know were to post it and I think
that all newsgroups listed above are interested about this.

Regards,
Marcio Wesley Borges
Borland Delphi Product Certified
Brainbench Certified
www.sibprovider.com

"Marcio � especialista em Interbase e Firebird, programador fluente em
v�rias linguagens, desenvolvedor certificado pela Borland e desenvolveu o
SIBPROvider"


begin 666 Marcio Wesley Borges.vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..D)O<F=E<SM-87)C:6\-"D9.
M.DUA<F-I;R!797-L97D@0F]R9V5S#0I/4D<Z4TE"4%)/=FED97(@+R!#5$E3
M("\@1&%T87-U<SM'1%,-"E1)5$Q%.D1E=F5L;W!E<@T*3D]413M%3D-/1$E.
M1SU154]4140M4%))3E1!0DQ%.D)O<FQA;F0@1&5L<&AI(%!R;V1U8W0@0V5R
M=&EF:65D/3!$/3!!0G)A:6YB96YC:"!#97)T:69I960],$0],$%W=W<N<VEB
M<')O=FD]#0ID97(N8V]M/3!$/3!!:'1T<#HO+W=W=RYB<F%I;F)E;F-H+F-O
M;2]T<F%N<V-R:7!T+FIS<#]P:60],T0T,C P-S0Y/3!$/3!!/0T*/3!$/3!!
M(DUA<F-I;R ]13D@97-P96-I86QI<W1A(&5M($EN=&5R8F%S92!E($9I<F5B
M:7)D+"!P<F]G<F%M861O<B!F;'5E;G1E(#T-"F5M('8]13%R:6%S(&QI;F=U
M86=E;G,L(&1E<V5N=F]L=F5D;W(@8V5R=&EF:6-A9&\@<&5L82!";W)L86YD
M(&4@9&5S96YV;VQV974]#0H@;R!324)04D]V:61E<B(-"E1%3#M73U)+.U9/
M24-%.BLU-2 H-C$I(#,Q-2 R-#DW#0I414P[2$]-13M63TE#13HK-34@*#8Q
M*2 S-#4M-S(Q- T*5$5,.T-%3$P[5D])0T4Z*S4U("@V,2D@.3DV,RTY-C T
M#0I!1%([5T]22SH[-# V.U-14R Q,3$@8FPN2R!A<'0N,C V.T)R87-I;&EA
M.T1&.S<P,S<T,3$P.T)R87-I; T*3$%"14P[5T]22SM%3D-/1$E.1SU154]4
M140M4%))3E1!0DQ%.C0P-CTP1#TP05-14R Q,3$@8FPN2R!A<'0N,C V/3!$
M/3!!0G)A<VEL:6$L($1&(#<P,S<T,3$P/3!$/3!!0G)A<VEL#0I!1%([2$]-
M13H[.U-14R Q,3$@8FPN2R!A<'0N,C V.T)R87-I;&EA.T1&.S<P,S<T,3$P
M.T)R87-I; T*3$%"14P[2$]-13M%3D-/1$E.1SU154]4140M4%))3E1!0DQ%
M.E-14R Q,3$@8FPN2R!A<'0N,C V/3!$/3!!0G)A<VEL:6$L($1&(#<P,S<T
M,3$P/3!$/3!!0G)A<VEL#0I54DP[5T]22SIH='1P.B\O=W=W+G-I8G!R;W9I
M9&5R+F-O;0T*14U!24P[4%)%1CM)3E1%4DY%5#IM87)C:6]W8D!S:6)P<F]V
K:61E<BYC;VT-"E)%5CHR,# R,3$R,E0Q-#4W,SA:#0I%3D0Z5D-!4D0-"@``
`
end