WJT wrote in message <982ogg$64t$1@tribune.oar.net>... ... >A small example of connecting to an Access database, and loading up a >Dataset with a SQL select statement would get me going. ... The following code is a result of modifying examples in the Samples directories in GNATCOM-1.3p for WinNT. Remove the HTML tags where they appear. The SQL is made using MS Access query builder, hence the unnecessary complexity of the SQL-command. Makefile: gnatmake -IC:\gnatcom-1.3p\binding -IC:\gnatcom-1.3p\samples\bindings -IC:\g natcom-1.3p\samples %1 -largs -lodbc32 Ada code: with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with GNAT.IO; use GNAT.IO; with GNATCOM.Types; with GNATCOM.BSTR; use GNATCOM.BSTR; with GNATCOM.VARIANT; use GNATCOM.VARIANT; with GNATCOM.Initialize; with ADO.uConnection_Interface; use ADO.uConnection_Interface; with ADO.uCommand_Interface; use ADO.uCommand_Interface; with ADO.uRecordset_Interface; use ADO.uRecordset_Interface; with ADO.Fields_Interface; use ADO.Fields_Interface; with ADO.Field_Interface; use ADO.Field_Interface; procedure Botnia is use type GNATCOM.Types.VARIANT_BOOL; Connection : uConnection_Type; Command : uCommand_Type; Recordset : uRecordset_Type; SQL : Constant GNATCOM.Types.BSTR := To_BSTR ( "SELECT Botniahalli.Botniahalli_Viite, Botniahalli.P�iv�m��r�, " & "Botniahalli.Alkaa, Botniahalli.Loppuu, Joukkueet.Joukkuenumero, " & "Botniahalli.Joukkue, Joukkueet.Joukkuenimi, " & "((Hour([Loppuu])-Hour([Alkaa]))*60+Minute([Loppuu])-Minute([Alkaa]))/30 " & "AS Vuoroja, " & "Int(((Hour([Loppuu])-Hour([Alkaa]))*60+Minute([Loppuu])-Minute([Alkaa]))/30 *[Hinta]+0.5) " & "AS Vuokra, KenttaVuokrat.KenttaNimi, Botniahalli.Botniahalli_Viite " & "FROM (Botniahalli INNER JOIN Joukkueet ON " & "Botniahalli.Joukkue = Joukkueet.Joukkuekoodi) " & "INNER JOIN KenttaVuokrat ON " & "Botniahalli.Kentt� = KenttaVuokrat.KenttaKoodi " & "WHERE (((Botniahalli.Botniahalli_Viite) Is Not Null) AND " & "((Joukkueet.Joukkuenumero)=144 Or (Joukkueet.Joukkuenumero)=152 Or " & "(Joukkueet.Joukkuenumero)=172))"); begin GNATCOM.Initialize.Initialize_COM; Put_Line ("Content-type: text/html" ); New_Line; Put_Line("
" );
for N in 0 .. Integer (Get_Count (Fields)) - 1 loop
declare
Field : Field_Type;
begin
Attach (Field, Get_Item (Fields, To_VARIANT (N)));
Put_Line (To_Ada (Get_Name (Field)) & " = " &
To_Ada (Get_Value (Field)) & "
");
end;
end loop;
end;
MoveNext (Recordset);
New_Line;
end loop;
Put_Line ("Close Connections");
Put_Line("");
Close (Recordset);
Close (Connection);
end Botnia;
Another binding using ODBC you may find at Pascal Obry's home page
http://perso.wanadoo.fr/pascal.obry/adas.html
Hope this helps.
Anders