Incompatible types: 'TStrings' and 'String'

Delphi

10/08/2010

bom seguinte estou tentando fazer um sistema de login aki em delphi com SQL server 2008, na primeira tentativa ja ta dando erro.. kkk estou tentando fazer o seguinte
DataModule1.ADOQCadUsu.Open;        DataModule1.ADOQCadUsu.SQL:='SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu=:enomusu.text and PasUsu=:epasusu.text';
Fabio Sanches

Fabio Sanches

Curtidas 0

Respostas

Felipe Caputo

Felipe Caputo

10/08/2010


mude de
DataModule1.ADOQCadUsu.SQL:='SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu=:enomusu.text and PasUsu=:epasusu.text'
para
DataModule1.ADOQCadUsu.SQL.text:='SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu=:enomusu.text and PasUsu=:epasusu.text'
 
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

10/08/2010

DataModule1.ADOQCadUsuClose;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu = ' + 
QuotedStr(enomusu.text) + ' and PasUsu = ' + QuotedStr(epasusu.text));

DataModule1.ADOQCadUsu.Open;
  Atenciosamente   Eriley
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

10/08/2010

Faltou o ponto antes do close 
DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu = ' + 
QuotedStr(enomusu.text) + ' and PasUsu = ' + QuotedStr(epasusu.text));

DataModule1.ADOQCadUsu.Open;
  Atenciosamente   Eriley
GOSTEI 0
Fabio Sanches

Fabio Sanches

10/08/2010

show de bola.. mais como q eu faço agora pra verificar se o resultado dessa consulta sql é verdadeira ou falsa?
GOSTEI 0
Felipe Caputo

Felipe Caputo

10/08/2010

é só fazer um
if ADOCadUsu.recordcount > 0 then  resultado positivoelse  resultado negativo

pq o recordcount apresenta o numero de registro que satisfizeram as condições da query
 
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

10/08/2010

DataModule1.ADOQCadUsu.Close;
DataModule1.ADOQCadUsu.SQL.Clear;
DataModule1.ADOQCadUsu.SQL.Add('SELECT NomUsu,PasUsu FROM TCadUsu where NomUsu = ' + 
QuotedStr(enomusu.text) + ' and PasUsu = ' + QuotedStr(epasusu.text));

DataModule1.ADOQCadUsu.Open;
if DataModule1.ADOQCadUsu.IsEmpty then
begin
  ShowMessage('Usuário ou senha inválido');
  enomusu.SetFocus;
  Exit;//Ou use Abort
end;
  Atenciosamente   Eriley
GOSTEI 0
Fabio Sanches

Fabio Sanches

10/08/2010

eu posso colocar tipo Flogin.destroy para tirar o form de login da memoria o comando é isso mesmo.. e tem necessidade de fazer isso?
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

10/08/2010

Deve ser feito no seu DPR ou no onShow do seu formulário principal.   Atenciosamente   Eriley
GOSTEI 0
Felipe Caputo

Felipe Caputo

10/08/2010

Bom quanto a isso é uma coisa que você tem q tomar cuidado nos seus projetos. quanto ao form de login eu respondi um post esses dias sobre isso. vou colocar aki em baixo para vc aprender a trabalhar com class function que eu acho uma das maneiras mais praticas de se criar e destuir formulários.
http://www.activedelphi.com.br/forum/viewtopic.php?t=57571&highlight=login
Só uma observação, não recomendo muito o uso de destroy, é preferíver você utilizar o comando
FreeandNil(frmLogin);
pois esse comando realmente tira o objeto instanciado da memoria completamente
GOSTEI 0
POSTAR