Fórum localizar registro que tiver o mesmo quot;Namequot; do com #329735
19/09/2006
0
salve galera!
tenho duas tabelas, USUARIOS e PRIVILEGIOS, como segue abaixo:
fasso um select na tabela usuarios para pegar todos os privilegios do usuário selecionado, como segue abaixo:
bom, daqui pra frente que pintou meu problema... agora eu teria que ir pegando o nome (checkbox.name) de cada checkbox e conferindo se ele existe no campo ´NOME_COMPONENTE´ da tabela PRIVILEGIOS. se ele estiver cadastrado na tabela, entao ´descheca´ ele, se ele nao tiver cadastrado, checa ele...
fiz assim:
Erro gerado: ´CDS_Priv: field ´cd_bd´ not found´
é claro que cb_bd é o nome de um checkbox, e o meu locate ta tratando ele como um campo, pq tem algo errado ai que o tanso aqui nao sabe o que é.... se alguem puder me ajudar....
abraços!!!
tenho duas tabelas, USUARIOS e PRIVILEGIOS, como segue abaixo:
TABLE USUARIOS ( CODIGO INTEGER NOT NULL, PRIVILEGIO INTEGER, CONSTRAINT PK_USUARIOS PRIMARY KEY (CODIGO) ); TABLE PRIVILEGIOS ( CODIGO INTEGER NOT NULL, CODIGO_USUARIO INTEGER, NOME_COMPONENTE VARCHAR(20), CONSTRAINT PK_PRIVILEGIOS PRIMARY KEY (CODIGO) );
fasso um select na tabela usuarios para pegar todos os privilegios do usuário selecionado, como segue abaixo:
DM.CDS_Priv.Close; DM.CDS_Priv.CommandText := ´SELECT * FROM PRIVILEGIOS WHERE CODIGO_USUARIO = ´+ Edit_Codigo.Text; DM.CDS_Priv.Open;
bom, daqui pra frente que pintou meu problema... agora eu teria que ir pegando o nome (checkbox.name) de cada checkbox e conferindo se ele existe no campo ´NOME_COMPONENTE´ da tabela PRIVILEGIOS. se ele estiver cadastrado na tabela, entao ´descheca´ ele, se ele nao tiver cadastrado, checa ele...
fiz assim:
DM.CDS_Priv.Close; DM.CDS_Priv.CommandText := ´SELECT * FROM PRIVILEGIOS WHERE CODIGO_USUARIO = ´+ Edit_Codigo.Text; DM.CDS_Priv.Open; DM.CDS_Priv.First; for i := 0 to ComponentCount -1 do if Components[i] is TCheckBox then begin While not DM.CDS_Priv.Eof do begin if not DM.CDS_Priv.Locate(Principal.Criptografia(DM.CDS_PrivNOME_COMPONENTE.AsString,236),Components[i].Name ,[loCaseInsensitive]) then begin TCheckBox(Components[i]).Checked := true; end else begin TCheckBox(Components[i]).Checked := false; end; DM.CDS_Priv.Next; end; end;
Erro gerado: ´CDS_Priv: field ´cd_bd´ not found´
é claro que cb_bd é o nome de um checkbox, e o meu locate ta tratando ele como um campo, pq tem algo errado ai que o tanso aqui nao sabe o que é.... se alguem puder me ajudar....
abraços!!!
Mahdak
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)