Uso Delphi .Net 2006, Windows Forms e Firebird ADO .Net

07/04/2006

0

Como faço para criar uma conexão global sem ter que herdar a winform?
Preciso que todas as winforms reconheçam a conexão (através dos componentes visuais de conexão e manipulação de dados), isto, para não ter que criar novas instâncias (de conexão) toda vez que cria cada winform.

Abraços.


Elisabete

Elisabete

Responder

Posts

12/04/2006

Sanses

Olá

Já pensou em criar uma classe de acesso a dados ? Contendo os componentes de conexão, datasets, e etc...

Seria criado quando a aplicação fosse inicializada e só seria destruida quando terminasse

Assim, uma conexão estaria sempre presente seja qual for o form que voce criar...

[]´s
Sanses


Responder

18/04/2006

Elisabete

Olá...

Sim, já pensei em criar uma classe.

Mas o problema é que teria que fazê-lo via script. E tbém que os componentes visuais de acesso a dados do Firebird só reconhece se o componente de conexão for visual também. Caso contrário teria que fazer tudo manualmente, via script, só que desta forma é muito trabalhosa.

E...

Você conhece algum outro componente de conexão que trabalhe com Firebird, no Delphi .Net?

Numa dessas...


Responder

18/04/2006

Sanses

Olá

Esta enganada quanto as classes, no VS 2005 por exemplo, os componentes do firebird são tratados somente via código no asp.net. Mas faça o seguinte, simule um datamodule. Declare sua classe como mostrado abaixo:
unit AcessaDados;

interface

uses
  Borland.Data.Provider, Borland.Data.Common, System.Data,
  System.ComponentModel, System.Data.Common, System.Globalization;

type
  ManutencaoBanco = class 
  private
    CDataAdapter: BdpDataAdapter;
    CConection: BdpConnection;
    CCommand: BdpCommand;
    function CriaParametro(
      valor: string): BdpParameter; strict private
    BdpConnection1: Borland.Data.Provider.BdpConnection;
    BdpDataAdapter1: Borland.Data.Provider.BdpDataAdapter;
    bdpSelectCommand1: Borland.Data.Provider.BdpCommand;
    DataTable1: System.Data.DataTable;
    DataColumn1: System.Data.DataColumn;
    DataColumn2: System.Data.DataColumn;
    DataColumn3: System.Data.DataColumn;
    DataColumn4: System.Data.DataColumn;
    DataColumn5: System.Data.DataColumn;
    DataColumn6: System.Data.DataColumn;
    DataColumn7: System.Data.DataColumn;
    DataColumn8: System.Data.DataColumn;
    DataColumn9: System.Data.DataColumn;
    DataColumn10: System.Data.DataColumn;
    DataColumn11: System.Data.DataColumn;
    procedure InitializeComponent;
  public

    dataSet1: System.Data.DataSet;
    function MontaDataset(Instrucao, CampoFiltro,
      ValorParametro: string): DataSet;
    constructor Create;
  end;

implementation

{ ManutencaoBanco }



salva-a, teste se está fucionando e depois abra novamente a unit e torne-a visual adicionado esta linha:

Onde está
type
ManutencaoBanco = class

deixe assim
type
ManutencaoBanco = class (System.ComponentModel.Component)

salve novamente, feche a unit e abra.
Pronto, seus problemas acabaram::Organizações Tabajaraaaaaaaa!!

Desculpe a brincadeira, [color=red:a318f0d1ee]mas no site da revista em downloads vc vai encontrar esse exemplo na edição 62.[/color:a318f0d1ee]

Com a parte visual ativada, voce vai poder colocar os componentes de acesso a dados como se estivesse usando um TDataModule.

[]´s
Sanses


Responder

28/04/2006

Elisabete

Olá

Aprendi como simular um Data Module no Delphi .net com o grupo Dev Media.

É isso mesmo, criar uma classe.

Só que estou tendo problemas com relação aos componentes de conexão do firebird. Quando eu crio um segundo DataSet que tem um campo que existe em outro DataSet, dá erro, não cria o DataSet corretamente.

Você sabe algo sobre isto???

Elisabete
Espyl Informática


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar