Connecting to a database from a commandline pascal program

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Connecting to a database from a commandline pascal program

Terry A. Haimann-2
Hello,

I am trying to write a command Line Pascal program to connect to a MySQL
database using the ZeosDBO Library. I am sure I have done something
stupid.

I have it now so that it will compile, but it crashes as soon as I try
to modify my TZConnection variable.


I have it defined as:

        MyConnection: TZconnection;

And code is defined as:

        WriteLn('2');
        MyConnection.Create(Nil);
        // MyQuery.Create(Nil);
        WriteLn('2.0);
        MyConnection := '127.0.0.1';
        WriteLn('2.1');
        MyConnection.Protocol := 'mysql';
        WriteLn('2.2');
        MyConnection.Database := 'MyDatabase';
        WriteLn('2.3');
        MyConnection.User := 'MyUser';
        WriteLn('2.4');
        MyConnection.Password := 'MyPass';
        WriteLn('2.5');
        MyConnection.Connected := True;
        WriteLn('2.6');

It never hits 2.0, so I believe it is dying on the create. Am I doing
the create wrong?  I can't find any examples as too doing this, I have
tried googling it.  Most of the examples I see are doing this from
Lazarus.  Not from a command line Free Pascal program.

Thanks in advance, Terry H.

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to a database from a commandline pascal program

DaWorm
Wouldn't this...

MyConnection.Create(Nil);
// MyQuery.Create(Nil);

... be more like...

MyConnection := TZConnection.Create();
MyQuery := TQuery.Create();

Then at the end you'd need...

MyQuery.Free();
MyConnection.Free();

Jeff


On Fri, Feb 16, 2018 at 10:25 AM, Terry A. Haimann <[hidden email]> wrote:
Hello,

I am trying to write a command Line Pascal program to connect to a MySQL
database using the ZeosDBO Library. I am sure I have done something
stupid.

I have it now so that it will compile, but it crashes as soon as I try
to modify my TZConnection variable.


I have it defined as:

        MyConnection:           TZconnection;

And code is defined as:

        WriteLn('2');
        MyConnection.Create(Nil);
        // MyQuery.Create(Nil);
        WriteLn('2.0);
        MyConnection := '127.0.0.1';
        WriteLn('2.1');
        MyConnection.Protocol   := 'mysql';
        WriteLn('2.2');
        MyConnection.Database   := 'MyDatabase';
        WriteLn('2.3');
        MyConnection.User       := 'MyUser';
        WriteLn('2.4');
        MyConnection.Password   := 'MyPass';
        WriteLn('2.5');
        MyConnection.Connected := True;
        WriteLn('2.6');

It never hits 2.0, so I believe it is dying on the create. Am I doing
the create wrong?  I can't find any examples as too doing this, I have
tried googling it.  Most of the examples I see are doing this from
Lazarus.  Not from a command line Free Pascal program.

Thanks in advance,      Terry H.

_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Reply | Threaded
Open this post in threaded view
|

Re: Connecting to a database from a commandline pascal program

Mark Morgan Lloyd-5
In reply to this post by Terry A. Haimann-2
On 16/02/18 16:00, Terry A. Haimann wrote:
> Hello,
> I am trying to write a command Line Pascal program to connect to a MySQLdatabase using the ZeosDBO Library. I am sure I have done somethingstupid.
> I have it now so that it will compile, but it crashes as soon as I tryto modify my TZConnection variable.
>
> I have it defined as:
> MyConnection: TZconnection;
> And code is defined as:
> WriteLn('2'); MyConnection.Create(Nil); // MyQuery.Create(Nil); WriteLn('2.0); MyConnection := '127.0.0.1'; WriteLn('2.1'); MyConnection.Protocol := 'mysql'; WriteLn('2.2'); MyConnection.Database := 'MyDatabase'; WriteLn('2.3'); MyConnection.User := 'MyUser'; WriteLn('2.4'); MyConnection.Password := 'MyPass'; WriteLn('2.5'); MyConnection.Connected := True; WriteLn('2.6');
> It never hits 2.0, so I believe it is dying on the create. Am I doingthe create wrong?  I can't find any examples as too doing this, I havetried googling it.  Most of the examples I see are doing this fromLazarus.  Not from a command line Free Pascal program.

Shouldn't that be  MyConnection := TZconnection.Create(nil);

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-pascal maillist  -  [hidden email]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal