Array
(
)

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

Elisabete
   - 07 abr 2006

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.


Sanses
   - 12 abr 2006

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


Elisabete
   - 18 abr 2006

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...


Sanses
   - 18 abr 2006

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:
#Código


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, mas no site da revista em downloads vc vai encontrar esse exemplo na edição 62.

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

[]´s
Sanses


Elisabete
   - 28 abr 2006

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