Fórum dbexpress com mysql não estou conseguindo #226476

16/04/2004

0

Boa tarde pesoal.

Construi uma aplicação baseado em um livro que comprei com banco de dados interbase, mesmo com pouco conhecimento em delphi, com a ajuda do pessoal do forum consegui fazer funcionar.
Agora peguei outro projeto pra controle de um porvedor que o cliente precisa usar banco de dados mysql pois o sistema ira gerenciar todas as contas de e-mails dos clientes. Queria aproveitar uma parte do que aprendi na apicação passada por isso fis o seguinte na tela que loga o sistema. Olha o código que autentica o usuario.
com interbase usei os componentes da paleta interbase.

var
strSqlLog: string;
mensagem: string;
begin
strSqlLog:= ´ SELECT senha,fantasia FROM usuario ´;
strSqlLog:= strSqlLog + ´ AND fantasia = ´ + #39 + (ValorNome.Text) + 39;
strSqlLog:= strSqlLog + ´ AND senha = ´ + 39 + (ValorSenha.Text) + 39;

DM.IBQueryLogin.Close;
DM.IBQueryLogin.Clear;
DM.IBQueryLogin.SQL.Add(strSqlLog);
DM.IBQueryLogin.Open;

if (DM.IBQueryLogin.RecordCount) = 1 then
begin
FrmPrincipal.StatusBar1.Panels[2].Text:= ´ ´+ ´Usuário: ´ + FrmLogin.ValorNome.Text +´ - ´ + DM.IBQueryLogin.fieldbyname(´dpto´).AsString;
FrmLogin.Close;
end;

if(DM.IBQueryLogin.RecordCount)= 0 then
begin
mensagem:= ´Nome ou senha do usuário inválidos.´ + #13 + 13
+ ´se voce esqueceu sua senha, consulte´ + 13
+ ´o administrador do sistema.´;

Application.MessageBox(PChar(mensagem), ´Login não autorizado´,
MB_OK+MB_ICONERROR);
ValorSenha.Text:=´´;
ValorSenha.SetFocus;
end;
end;

No mysql usei os componentes da paleta dbexpress
SqlConection+SqlQuery+DataSetProvider+ClientDataSet+DataSource

Queria usar aqui praticamente a mesma estrutura, só que não aceita eu usar essa sitaxe.

DM.ClienteDataSet.Clear;
DM.ClienteDataSet.SQL.Add(strSqlLog);

como que eu faço pra isso funcionar
Não sei se espressei direito
mas é +ou- isso.

Obrigado pessoal

Rodrigo Muller
rodrigo@gmcplus.com.br


Rodrigo Muller

Rodrigo Muller

Responder

Posts

16/04/2004

Rodrigo Muller

aguem do forum pode me ajudar


Responder

Gostei + 0

17/04/2004

Delphi2003

estas intruções devem ser codificadas no SQLQuery ou SQLDataset


Responder

Gostei + 0

17/04/2004

Rômulo Barros

DM.ClienteDataSet.Clear; DM.ClienteDataSet.SQL.Add(strSqlLog);


Caro amigo, esse problema é fácil de resolver. siga os passos:

Primeiramente, a propriedade do TClientDataSet que armazenas as intruções sql (insert into, update...., select ...) é representada por ´ComandText´. Entao, no lugar de [color=red:f3ddd8dad1][b:f3ddd8dad1]ClientDataSet.Sql.Add(´´);[/b:f3ddd8dad1][/color:f3ddd8dad1] utilize [color=red:f3ddd8dad1][b:f3ddd8dad1]ClientDataSet.CommandText := ´´;[/b:f3ddd8dad1][/color:f3ddd8dad1]

Outra coisa. Não podemos acesar diretamente a propriedade CommandText do TClientDataSet. Isso só será possível se vc configurar o DataSetProvider. Para isto, dentro da Propriedade Set ´Options´ do seu DataSetProvider, altere esta : [color=red:f3ddd8dad1][b:f3ddd8dad1]poAllowChangeCommandText[/b:f3ddd8dad1][/color:f3ddd8dad1] para [b:f3ddd8dad1]True[/b:f3ddd8dad1]


Responder

Gostei + 0

17/04/2004

Rodrigo Muller

Obrigado Undeclared Identifier,
é por isso que eu gosto do fórum os turma aqui nunca deixam a gente na mão

obrigado mesmo


Responder

Gostei + 0

17/04/2004

Rodrigo Muller

desculpa
a turma


Responder

Gostei + 0

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

Aceitar