o que esta errado no codigo??
27/12/2005
0
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
Posts
27/12/2005
Caninha51
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
28/12/2005
Fernando_cunha
eu ja tinha conseguido arrumar o problema ...
mas testei sua implementacao para testar e funcionou corretamente ...
valeu pelo resposta :)
abraços
8)
28/12/2005
Fernando_cunha
isso foi um erro grave rssssss
[]s