From: "rohit.sharma" <rohit.sharma@ntlworld.com>
Subject: Re: Microsoft Access database on GNAT 3.04
Date: Wed, 7 Mar 2001 14:24:51 -0000
Date: 2001-03-07T14:24:51+00:00 [thread overview]
Message-ID: <9yrp6.1357$sV.184224@news2-win.server.ntlworld.com> (raw)
In-Reply-To: 1Bkp6.5$Sz3.1480@read2.inet.fi
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 4723 bytes --]
All these examples work very well with GNAT3.13 and GNATCOM-1.3. But I am
looking for something under GNAT 3.04.
Rohit
"Anders Wirzenius" <anders.wirzenius@pp.qnet.fi> wrote in message
news:1Bkp6.5$Sz3.1480@read2.inet.fi...
>
> 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("<html><head><title>Anders</title>");
> Put_Line("</head><body>");
>
> Put_Line ("<B>Create ADO Engine</B><BR>");
> Create (Connection, ADO.CLSID_Connection);
>
> Put_Line ("ADO Version is : <B>" & To_Ada (Get_Version (Connection)));
> New_Line;
> Put_Line ("</B>Open Connection to Database<BR>");
>
> Put_ConnectionString
> (Connection,
> To_BSTR ("DSN=adademo") );
>
>
> Open (Connection, null, null, null, 0);
>
> Create (Command, ADO.CLSID_Command);
> PutRef_ActiveConnection (Command, Pointer (Connection));
>
> Put_CommandText (Command, SQL);
>
> Create (Recordset, ADO.CLSID_Recordset);
>
> Open (Recordset,
> Source => To_VARIANT_From_Dispinterface (Command),
> CursorType => ADO.AdOpenForwardOnly,
> LockType => ADO.AdLockReadOnly,
> Options => 0,
> Free => False);
>
> MoveFirst (Recordset);
>
> while Get_EOF (Recordset) /= GNATCOM.Types.VARIANT_BOOL_TRUE loop
> declare
> Fields : Fields_Type;
> begin
> Attach (Fields, Get_Fields (Recordset));
> Put_Line ( "<P>" );
> 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)) & " = <B>" &
> To_Ada (Get_Value (Field)) & "</B><BR>");
> end;
> end loop;
> end;
> MoveNext (Recordset);
> New_Line;
> end loop;
>
> Put_Line ("Close Connections");
> Put_Line("</body>");
> 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
>
>
next prev parent reply other threads:[~2001-03-07 14:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2gqo6.8730$925.800172@news6-win.server.ntlworld.com>
2001-03-04 12:59 ` Microsoft Access database on GNAT 3.04 David C. Hoos, Sr.
2001-03-04 14:05 ` Rohit Sharma
2001-03-04 18:36 ` Gerhard Häring
2001-03-05 9:55 ` Tarjei T. Jensen
2001-03-06 13:26 ` WJT
2001-03-07 6:31 ` Anders Wirzenius
2001-03-07 14:24 ` rohit.sharma [this message]
2001-03-08 6:03 ` Gerhard Häring
2001-03-09 5:32 ` DuckE
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox