I  was trying to see how to write a Console Appication in FreePascal
that will connect to MySQL.  I know how to do this in c, but thought it
would be interesting to be able to do it in Pascal.

How should FConnection and FTransaction be declared or are the declared
in a library somewhere?

I have the following source code which is based on the web site
http://wiki.freepascal.org/SqlDBHowto, but does not compile:

Program TestMysql;
Uses sqldb, mysql55conn;

Var
        MyConnection:   TSQLConnector;
        MyTransaction:  TSQLTransaction;
        MyQuery:                TSQLQuery;
        
function GetQuery : TSQLQuery;
  var MyQuery : TSQLQuery;
begin
  MyQuery := TSQLQuery.Create;
  MyQuery.Database := FConnection;
  MyQuery.Transaction := FTransaction;
  GetQuery := MyQuery;
end;

procedure CreateTransaction;
begin
  MyTransaction := TSQLTransaction.Create;
  MyTransaction.Database := MyConnection;
end;
        
Procedure CreateConnection;
Begin
        MyConnection := TSQLConnector.Create(nil);
        MyConnection.ConnectorType      := 'MySQL 5.5';
        MyConnection.Hostname           := '127.0.0.1';
        MyConnection.DatabaseName       := 'MyDB';
        MyConnection.UserName           := 'MyUser';
        MyConnection.Password           := 'MyPassword';
End;

Begin
        CreateConnection;
        CreateTransaction;
        MyQuery := GetQuery;
        MyQuery.SQL.Text := 'select ObjIdx, ObjCon from object' +
                'Order By ObjCon, ObjIdx';
        MyConnection.Open;
        MyQuery.Open;
        If MyConnection.Connected Then
        Begin
                While Not MyQuery.eof Do 
                Begin
                        WriteLn(MyQuery.FieldByName('ObjIdx').AsString, 
                                MyQuery.FieldByName('ObjCon').AsString);
                        MyQuery.Next;
                End;
        End Else WriteLn('Failure');
        MyQuery.Close
        MyConnection.Close;
        MyQuery.Free
        MyConnection.Free;
        MyTransaction.Free;
End.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to