Array
(
)

o que esta errado no codigo??

Fernando_cunha
   - 27 dez 2005

Esta é a unit que estou escrevendo para acessar o mysql atraves do odbc ...
#Código

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.


logo abaixo é a fonte da minha aplicacao ...

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


Caninha51
   - 27 dez 2005

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

Tenta assim pra ver se dar erro
#Código


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
#Código
var 
Q: TBanco;
begin
Q:= TBanco.Create(application);
Q.pconectar;
DataSource1.DataSet:= q.fconsulta(´select * from teste´,Q);


Ver se dar erro...

flw


Fernando_cunha
   - 28 dez 2005

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)


Fernando_cunha
   - 28 dez 2005


Citação:
testei sua implementacao para testar

isso foi um erro grave rssssss

[]s


Caninha51
   - 28 dez 2005

Ainda bem q vc testou pra testar!heheh

Vlw fernando! [:p]