Conexão MySQL sem componente

18/04/2013

3

Pessoal. Bom Dia!

Gostaria de saber como fazer uma Conexão MySQL sem usar componente. Tipo zeos, dbexpress. Sem usar isso.

Conexão via código mesmo.

Alguma orientação?

Grato!

Carlos Rocha
Responder

Posts

Sim, poderia usar via ODBC com conector.
Responder

18/04/2013

Carlos Rocha

Oh amigo. Pensei em algo sem conector algum. Nem mesmo ODBC.

Apenas via código mesmo.

Tipo usando alguma unit nativa no delphi ou no lazarus.

Assim:
Declaro na clausula uses, a unit de conexão do delphi (ou lazarus) com o MySQL.
Após isso declaro uma variável do tipo da unit declarada.

E a partir daí eu monta a conexão via código.
A ideia eu tenho;. Mas não sei qual código usar.
Responder

18/04/2013

Joel Rodrigues

Rapaz, em que ponto isso é viável?
Você pode instanciar os mesmos componentes via código, TSQLConnection, TZConnection, etc.
Responder

18/04/2013

Carlos Rocha

Trabalho de faculdade.
Responder

18/04/2013

Carlos Rocha

Estou tentando assim no lazarus:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, mysql55conn;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  conexao: mysql55conn.TMySQL55Connection

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  {
  conexao.Close;
  conexao.HostName:='localhost';
  conexao.port:=3306;
  conexao.UserName:='vini';
  conexao.Password:='alugue';
  conexao.DatabaseName:='alugueis';
  conexao.Open;
  }
end;

end.

Mas esta dando erro na hora de executar o close dentro do Formcreate
Comentei o conexão.Close e o erro continua

Erro?

Projeto teste elevou classe de execução' External:SIGSEGV'
Responder

18/04/2013

Joel Rodrigues

É por que nesse ponto, o objeto ainda não está instanciado. Vai precisar de um Create antes de tudo, para criar o objeto.
Responder

18/04/2013

Carlos Rocha

como vai criar o objeto?
Responder

18/04/2013

Joel Rodrigues

Cara, eu não sei que componente é esse e nem uso Lazarus, mas a ideia é instanciar um objeto como de costume. Por exemplo:
Form1 := TForm1.Create(Application);

Deve haver o construtor Create nessa classe, verifique.
Responder

18/04/2013

Carlos Rocha

O lazarus cria assim:

TForm1 = class(TForm)

Responder

18/04/2013

Joel Rodrigues

Não, isso é a declaração. A criação é como eu falei e não deve variar, uma vez que o LAzarus também usa Pascal.
Responder

18/04/2013

Carlos Rocha

como ficaria então?
Responder

18/04/2013

Joel Rodrigues

Deverá ser algo do tipo:
conexao := mysql55conn.TMySQL55Connection.Create
Responder