Fórum dbexpress com mysql não estou conseguindo #226476
16/04/2004
0
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
Curtir tópico
+ 0Posts
16/04/2004
Rodrigo Muller
Gostei + 0
17/04/2004
Delphi2003
Gostei + 0
17/04/2004
Rômulo Barros
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]
Gostei + 0
17/04/2004
Rodrigo Muller
é por isso que eu gosto do fórum os turma aqui nunca deixam a gente na mão
obrigado mesmo
Gostei + 0
17/04/2004
Rodrigo Muller
a turma
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)