o que esta errado no codigo??

27/12/2005

[b:37d47fcc2b]Esta é a unit que estou escrevendo para acessar o mysql atraves do odbc ...[/b:37d47fcc2b]
unit uclasse;

interface
  uses
    SysUtils, Classes, DB, ADODB, Forms;
  type
    TBanco = class(TADOConnection)

    private

    public

      procedure pconectar;
      procedure pdesconectar;
      function  fconsulta(csql: string): TADOQuery;


  end;


implementation

procedure TBanco.pconectar;
begin
  ConnectionString:= ´Provider=MSDASQL.1;Persist Security Info=False;Data Source=teste5´;
  LoginPrompt := False;
  Connected:= True;
end;

procedure TBanco.pdesconectar;
begin

end;

function  TBanco.fconsulta(csql: string): TADOQuery;
var
  Q: TADOQuery;
begin
  Q:= TADOQuery.Create(application);
  Q.Connection:= self;
  Q.Close;
  Q.SQL.Clear;
  Q.SQL.Text:= csql;
  Q.Open;
  fconsulta:= Q;

end;
end.


[b:37d47fcc2b]logo abaixo é a fonte da minha aplicacao ...[/b:37d47fcc2b]

unit uteste;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uclasse, StdCtrls, DB, ExtCtrls, DBCtrls, Grids, DBGrids, ADODB;

type
  TForm1 = class(TForm)
    Button1: TButton;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    DataSource1: TDataSource;
    Button2: TButton;
    ADOTable1: TADOTable;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  x: TBanco;
begin
  x:= TBanco.Create(application);
  x.pconectar;
  ADOtable1.Connection:= x;
  ADOtable1.TableName:= ´teste´;
  ADOtable1.Active:= true;;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Q: TBanco;
begin
  Q:= TBanco.Create(application);
  DataSource1.DataSet:= q.fconsulta(´select * from teste;´);

end;

end.


quando clico no botao 2, aparece uma mensagem de erro dizendo que

´nome da fonte de dados nao encontrado, nenhum driver especificado´

pela mensagem creio que a query nao esta conseguindo localizar a conexao ...

por favor, tentei arrumar mas nao consigo ...
se alguem souber o pq do erro eu agradeço a ajuda!!!

[]ss


Fernando_cunha

Respostas

27/12/2005

Caninha51

A fonte de dados teste5 existe?
Com o button1 num dar erro naum?

Tenta assim pra ver se dar erro
function  TBanco.fconsulta(csql: string; Con: TBanco): TADOQuery; 
var 
  Q: TADOQuery; 
begin 
  Q:= TADOQuery.Create(application); 
  Q.Connection:= Con; 
  Q.Close; 
  Q.SQL.Clear; 
  Q.SQL.Text:= csql; 
  Q.Open; 
  fconsulta:= Q; 

end;


pra chamar faz assim
var 
  Q: TBanco; 
begin 
  Q:= TBanco.Create(application); 
  Q.pconectar;
  DataSource1.DataSet:= q.fconsulta(´select * from teste´,Q); 


Ver se dar erro...

flw


Responder Citar

28/12/2005

Fernando_cunha

a fonte existe sim ...

eu ja tinha conseguido arrumar o problema ...
mas testei sua implementacao para testar e funcionou corretamente ...

valeu pelo resposta :)

abraços
8)


Responder Citar

28/12/2005

Fernando_cunha

testei sua implementacao para testar

isso foi um erro grave rssssss

[]s[/quote]


Responder Citar

28/12/2005

Caninha51

Ainda bem q vc testou pra testar!heheh

Vlw fernando! [:p]


Responder Citar