Re: [delphi-br] Missing Data Provider(Classe)

2007-02-28 Por tôpico Humberto
Não adiantou, mas eu utilizei o método SetProviderName da seguinte forma:
  cds.SetProvider(dsp);

O erro parou, mas agora o está dando outro erro:  
Missing DriverName Property

Alguém?  Vlw.

  - Original Message - 
  From: Anderson RB 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Wednesday, February 28, 2007 11:29 AM
  Subject: Re: [delphi-br] Missing Data Provider(Classe)


  Teste alterar
  //Configura ClientDataSet
  cds.ProviderName := 'dsp';

  para

  cds.ProviderName:= ObjetoProvider.Name;
  - Original Message - 
  From: Humberto 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, February 27, 2007 3:11 PM
  Subject: [delphi-br] Missing Data Provider(Classe)

  Caros colegas, estou criando uma classe de acesso a banco de dados, e ela irá 
funcionar da seguinte forma:

  Dentro dela defino um SqlConnection, um ClientDataSet, um SqlDataSet, um 
DataSetProvider e um Datasource.

  para ter certeza que estaria fazendo tudo certo, adicionei um DataModulo em 
um projeto de teste e liguei os componentes entre si e o SqlConnection à base 
de dados.

  Depois fiz as mesmas ligações em código.
  O SqlConnection conectou normalmente, porém ao tentar dar o Open no 
ClientDataSet (com o Select já colocado no CommandText), ele da o seguinte erro:

  Project Teste.exe raised exception class EDatabaseError with message: 
'Missing data provider or data packet'.

  Segue abaixo o código da Classe para tirarem suas dúvidas e como a utilizo:

  Obrigado.

  Unit clsBancodeDados;

  interface

  uses
  Classes,DBXpress, WideStrings, FMTBcd, Provider, DBClient, DB,
  SqlExpr;

  type
  TBancodeDados = class(TComponent)

  private
  { Private declarations }
  sPathBD : String;
  bConectado : Boolean;
  sc : TSQLConnection;
  sds : TSQLDataSet;
  dsp : TDataSetProvider;
  cds : TClientDataSet;
  ds : TDataSource;

  public
  { Public declarations }
  constructor Create(AOwner: TComponent);
  destructor Destroy;
  function Conectar : Boolean;
  function ComandoSql (qSql : String) : Boolean;
  property Conectado: Boolean read bConectado;
  procedure SetDirBanco(Value: string);
  property DirBanco : String read sPathBD write SetDirBanco;

  published

  protected

  end;

  implementation

  {$Region 'Construtor e Destrutor'}
  constructor TBancodeDados.Create(AOwner: TComponent);
  begin
  inherited Create(AOwner);

  //Instancia Objetos de Conexão ao Banco.
  sc := TSQLConnection.Create(Self);
  cds := TClientDataSet.Create(Self);
  sds := TSQLDataSet.Create(Self);
  dsp := TDataSetProvider.Create(Self);
  ds := TDataSource.Create(Self);
  //<

  //Configura SQLConnection
  With sc.Params do
  Begin

  Clear;
  Add('DriverName= UIB FireBird15');
  Add('Pasword=masterkey');
  Add('User_Name=SYSDBA');

  End;
  //<

  //Configura SqlDataSet
  With sds do
  Begin
  DataSource := ds;
  MaxBlobSize := -1;
  SQLConnection := sc;
  End;
  //<

  //Configura DataSource
  ds.DataSet := cds;
  //<

  //Configura ClientDataSet
  cds.ProviderName := 'dsp';
  //<

  //Configura DataSetProvider
  dsp.DataSet := sds;
  dsp.Options := [poAllowCommandText, poUseQuoteChar];
  //<

  end;

  destructor TBancodeDados.Destroy;
  begin
  inherited Destroy;
  sc.Free;
  sc := nil;

  cds.Free;
  cds := nil;

  sds.Free;
  sds := nil;

  dsp.Free;
  dsp := nil;

  ds.Free;
  ds := nil;
  end;
  {$EndRegion}

  {$Region 'Métodos da Classe'}

  procedure TBancodeDados.SetDirBanco(Value: string);
  Begin

  sPathBD := Value;
  sc.Params.Add('Database='+sPathBD);

  End;

  function TBancodeDados.Conectar : Boolean;
  Var
  bRetorno : Boolean;
  Begin

  bRetorno := True;

  try

  sc.Connected;
  bConectado := True;

  Except

  bRetorno := False;

  end;

  Result := bRetorno;

  End;

  function TBancodeDados.ComandoSql (qSql : String) : Boolean;
  Var
  bRetorno : Boolean;
  Begin

  bRetorno := True;

  try

  With cds do
  Begin
  Close;
  CommandText := qSql;
  Open;
  End;

  Except

  bRetorno := False;

  end;

  Result := bRetorno;

  End;

  {$EndRegion}

  end.

  Utilizo ela assim:

  procedure TForm1.FormCreate(Sender: TObject);
  var BD: TBancodeDados;
  begin
  BD := TBancodeDados.Create(Self);
  With BD do
  Begin
  DirBanco := 'PROG4:C:\Documents and Settings\Humberto\Meus 
documentos\Banco\HUMB.fdb';

  If Conectar Then
  ShowMessage('Conectou')
  Else
  ShowMessage('Não Conectou');

  ComandoSql('SELECT * FROM CLIENTE');

  End;

  end;

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]



   


--


  No virus found in this incoming message.
  Checked by AVG Free Edition.
  Version: 7.5.446 / Virus Database: 268.18.4/703 - Release Date: 26/2/2007 
14:56


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Missing Data Provider(Classe)

2007-02-28 Por tôpico Anderson RB
Teste alterar
//Configura ClientDataSet
cds.ProviderName := 'dsp';

para

cds.ProviderName:= ObjetoProvider.Name;
  - Original Message - 
  From: Humberto 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Tuesday, February 27, 2007 3:11 PM
  Subject: [delphi-br] Missing Data Provider(Classe)


  Caros colegas, estou criando uma classe de acesso a banco de dados, e ela irá 
funcionar da seguinte forma:

  Dentro dela defino um SqlConnection, um ClientDataSet, um SqlDataSet, um 
DataSetProvider e um Datasource.

  para ter certeza que estaria fazendo tudo certo, adicionei um DataModulo em 
um projeto de teste e liguei os componentes entre si e o SqlConnection à base 
de dados.

  Depois fiz as mesmas ligações em código.
  O SqlConnection conectou normalmente, porém ao tentar dar o Open no 
ClientDataSet (com o Select já colocado no CommandText), ele da o seguinte erro:

  Project Teste.exe raised exception class EDatabaseError with message: 
'Missing data provider or data packet'.

  Segue abaixo o código da Classe para tirarem suas dúvidas e como a utilizo:

  Obrigado.

  Unit clsBancodeDados;

  interface

  uses
  Classes,DBXpress, WideStrings, FMTBcd, Provider, DBClient, DB,
  SqlExpr;

  type
  TBancodeDados = class(TComponent)

  private
  { Private declarations }
  sPathBD : String;
  bConectado : Boolean;
  sc : TSQLConnection;
  sds : TSQLDataSet;
  dsp : TDataSetProvider;
  cds : TClientDataSet;
  ds : TDataSource;

  public
  { Public declarations }
  constructor Create(AOwner: TComponent);
  destructor Destroy;
  function Conectar : Boolean;
  function ComandoSql (qSql : String) : Boolean;
  property Conectado: Boolean read bConectado;
  procedure SetDirBanco(Value: string);
  property DirBanco : String read sPathBD write SetDirBanco;

  published

  protected

  end;

  implementation

  {$Region 'Construtor e Destrutor'}
  constructor TBancodeDados.Create(AOwner: TComponent);
  begin
  inherited Create(AOwner);

  //Instancia Objetos de Conexão ao Banco.
  sc := TSQLConnection.Create(Self);
  cds := TClientDataSet.Create(Self);
  sds := TSQLDataSet.Create(Self);
  dsp := TDataSetProvider.Create(Self);
  ds := TDataSource.Create(Self);
  //<

  //Configura SQLConnection
  With sc.Params do
  Begin

  Clear;
  Add('DriverName= UIB FireBird15');
  Add('Pasword=masterkey');
  Add('User_Name=SYSDBA');

  End;
  //<

  //Configura SqlDataSet
  With sds do
  Begin
  DataSource := ds;
  MaxBlobSize := -1;
  SQLConnection := sc;
  End;
  //<

  //Configura DataSource
  ds.DataSet := cds;
  //<

  //Configura ClientDataSet
  cds.ProviderName := 'dsp';
  //<

  //Configura DataSetProvider
  dsp.DataSet := sds;
  dsp.Options := [poAllowCommandText, poUseQuoteChar];
  //<

  end;

  destructor TBancodeDados.Destroy;
  begin
  inherited Destroy;
  sc.Free;
  sc := nil;

  cds.Free;
  cds := nil;

  sds.Free;
  sds := nil;

  dsp.Free;
  dsp := nil;

  ds.Free;
  ds := nil;
  end;
  {$EndRegion}

  {$Region 'Métodos da Classe'}

  procedure TBancodeDados.SetDirBanco(Value: string);
  Begin

  sPathBD := Value;
  sc.Params.Add('Database='+sPathBD);

  End;

  function TBancodeDados.Conectar : Boolean;
  Var
  bRetorno : Boolean;
  Begin

  bRetorno := True;

  try

  sc.Connected;
  bConectado := True;

  Except

  bRetorno := False;

  end;

  Result := bRetorno;

  End;

  function TBancodeDados.ComandoSql (qSql : String) : Boolean;
  Var
  bRetorno : Boolean;
  Begin

  bRetorno := True;

  try

  With cds do
  Begin
  Close;
  CommandText := qSql;
  Open;
  End;

  Except

  bRetorno := False;

  end;

  Result := bRetorno;

  End;

  {$EndRegion}

  end.

  Utilizo ela assim:

  procedure TForm1.FormCreate(Sender: TObject);
  var BD: TBancodeDados;
  begin
  BD := TBancodeDados.Create(Self);
  With BD do
  Begin
  DirBanco := 'PROG4:C:\Documents and Settings\Humberto\Meus 
documentos\Banco\HUMB.fdb';

  If Conectar Then
  ShowMessage('Conectou')
  Else
  ShowMessage('Não Conectou');

  ComandoSql('SELECT * FROM CLIENTE');

  End;

  end;


  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Missing Data Provider(Classe)

2007-02-27 Por tôpico Humberto
Caros colegas, estou criando uma classe de acesso a banco de dados, e ela irá 
funcionar da seguinte forma:

Dentro dela defino um SqlConnection, um ClientDataSet, um SqlDataSet, um 
DataSetProvider e um Datasource.

para ter certeza que estaria fazendo tudo certo, adicionei um DataModulo em um 
projeto de teste e liguei os componentes entre si e o SqlConnection à base de 
dados.

Depois fiz as mesmas ligações em código.
O SqlConnection conectou normalmente, porém ao tentar dar o Open no 
ClientDataSet (com o Select já colocado no CommandText), ele da o seguinte erro:

Project Teste.exe raised exception class EDatabaseError with message: 'Missing 
data provider or data packet'.

Segue abaixo o código da Classe para tirarem suas dúvidas e como a utilizo:

Obrigado.

Unit clsBancodeDados;

interface

uses
  Classes,DBXpress, WideStrings, FMTBcd, Provider, DBClient, DB,
  SqlExpr;

type
  TBancodeDados = class(TComponent)


  private
{ Private declarations }
sPathBD: String;
bConectado : Boolean;
sc : TSQLConnection;
sds: TSQLDataSet;
dsp: TDataSetProvider;
cds: TClientDataSet;
ds : TDataSource;


  public
{ Public declarations }
constructor Create(AOwner: TComponent);
destructor Destroy;
function Conectar : Boolean;
function ComandoSql (qSql : String) : Boolean;
property Conectado: Boolean read bConectado;
procedure SetDirBanco(Value: string);
property DirBanco : String read sPathBD write SetDirBanco;

  published



  protected

  end;


implementation

{$Region 'Construtor e Destrutor'}
constructor TBancodeDados.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);

  //Instancia Objetos de Conexão ao Banco.
  sc := TSQLConnection.Create(Self);
  cds := TClientDataSet.Create(Self);
  sds := TSQLDataSet.Create(Self);
  dsp := TDataSetProvider.Create(Self);
  ds := TDataSource.Create(Self);
  //<

  //Configura SQLConnection
  With sc.Params do
  Begin

Clear;
Add('DriverName= UIB FireBird15');
Add('Pasword=masterkey');
Add('User_Name=SYSDBA');

  End;
  //<


  //Configura SqlDataSet
  With sds do
  Begin
DataSource := ds;
MaxBlobSize := -1;
SQLConnection := sc;
  End;
  //<

  //Configura DataSource
  ds.DataSet := cds;
  //<

  //Configura ClientDataSet
  cds.ProviderName := 'dsp';
  //<


  //Configura DataSetProvider
  dsp.DataSet := sds;
  dsp.Options := [poAllowCommandText, poUseQuoteChar];
  //<



end;


destructor TBancodeDados.Destroy;
begin
  inherited Destroy;
  sc.Free;
  sc := nil;

  cds.Free;
  cds := nil;

  sds.Free;
  sds := nil;

  dsp.Free;
  dsp := nil;

  ds.Free;
  ds := nil;
end;
{$EndRegion}

{$Region 'Métodos da Classe'}

procedure TBancodeDados.SetDirBanco(Value: string);
Begin

  sPathBD := Value;
  sc.Params.Add('Database='+sPathBD);

End;


function TBancodeDados.Conectar : Boolean;
Var
 bRetorno : Boolean;
Begin

  bRetorno := True;

  try

sc.Connected;
bConectado := True;

  Except

bRetorno := False;

  end;


  Result := bRetorno;

End;

function TBancodeDados.ComandoSql (qSql : String) : Boolean;
Var
 bRetorno : Boolean;
Begin

  bRetorno := True;

  try

With cds do
Begin
  Close;
  CommandText := qSql;
  Open;
End;

  Except

bRetorno := False;

  end;


  Result := bRetorno;

End;

{$EndRegion}

end.


Utilizo ela assim:

procedure TForm1.FormCreate(Sender: TObject);
var BD: TBancodeDados;
begin
  BD := TBancodeDados.Create(Self);
  With BD do
  Begin
DirBanco := 'PROG4:C:\Documents and Settings\Humberto\Meus 
documentos\Banco\HUMB.fdb';

If Conectar Then
  ShowMessage('Conectou')
Else
  ShowMessage('Não Conectou');

ComandoSql('SELECT * FROM CLIENTE');

  End;


end;




[As partes desta mensagem que não continham texto foram removidas]