Fórum Como gravar Itens de CheckListBox no IBX6 #280684
09/05/2005
0
A rotina que estou usando é essa:
for i := 0 to Clb_qm.Items.Count-1 do
begin
if Clb_qm.Checked[i] = True then
BEGIN
dmbancos.IBQCad_Dst.ParamByName(´Pqm´).AsString :=
Clb_qm.Checked[i];
end
Edan
Curtir tópico
+ 0Posts
09/05/2005
Faelcavalcanti
var i : integer; begin for i := 0 to CheckListBox.Count - 1 do begin // ... procedimento de pré-condifuração como: Limpar Buffers de Parâmetros, registros, etc. Query.Prepared := False; Query.ParamByName(´CAMPO´).AsBoolean := CheckListBox.Checked; // neste caso especifiquei que o campo seria do tipo boolean Query.Prepared := True; // ... procedimentos de pós-configuração como ExecSQL, Master/Detail, etc. end; end;
Interpretei o seu tópico por um motivo de não estar atualizando os dados lançados dentro de um loop, caso esteja acontecendo um outro problema posterior especifique-o.
:wink:
Falow!
Gostei + 0
09/05/2005
Edan
for i := 0 to clb_qm.Items.Count - 1 do begin
dmbancos.IBQCad_Dst.ParamByName(´pqm´).AsString :=
Clb_qm.Items[i];
end;
dmbancos.IBQCad_Dst.Prepare;
dmbancos.IBQCad_Dst.ExecSQL;
dmbancos.IBQCad_Dst.Close;
dmbancos.IBTransaction1.Commit;
, e exatamente nesta condição
Query.ParamByName(´CAMPO´).AsBoolean := CheckListBox.Checked;
na compilação gera erro na expressão CheckListBox.Checked, após o ponto ele não habilita a apção Checked, e estou usando char(1) na minha tabela, no meu CheckListBox eu tenho 6 opções e estou usando o delphi 5.
Gostei + 0
09/05/2005
Gandalf.nho
Gostei + 0
10/05/2005
Edan
Gostei + 0
10/05/2005
Faelcavalcanti
Amigo quando mencionei com o CheckListBox, posi tinha interpretado os métodos com o do CheckBox, ou seja, dentro de uma ListBox existem vários Checkbox, por isto naquele caso o método não estava sendo visualizado.
Mas quando ele aparece [b:25633e1546]-1[/b:25633e1546] é porque a informação solicitada não foi encontrada, ou fora do índice, ou não inicializado. No caso de utilizar Char você ainda poderá utilizá-lo como um SmallInt de forma limitada como :
Query.ParamByName(´PQM´).AsString[1] := CheckListBox.Items[i].Index;
Não entendo porque utilizas como char, o que seria este campo PQM ???
Gostei + 0
11/05/2005
Edan
E o pqm é o paramentro que estou passando na minha query.
for i := 0 to clb_qm.Items.Count-1 do begin
if clb_qm.Checked[i] then begin
// Neste ponto eu faço a checagem dos itens marcados
showmessage(´item checado é´+inttostr(i));
// gravando a informação
dmbancos.IBQCad_Dst.ParamByName(´pqm´).AsBoolean :=
Clb_qm.Checked[i];
end
end;
Gostei + 0
11/05/2005
Faelcavalcanti
:wink:
Falow!
Gostei + 0
11/05/2005
Edan
Gostei + 0
29/07/2006
Dpinho
[color=red:9f0bcfa9c6]//Gravar as permissões
for i := 0 to Checper.Count -1 do
Begin
DM.CDSForm.Locate(´Descricao´,Checper.Items.text ,[]);
p_Cod := DM.CDSUser.fieldByName(´Id_usuar´).ASInteger;
p_Filial := DM.CDSForm.FieldByname(´id_for´).AsInteger;
p_User := DM.CDSForm.FieldByName(´Nome´).ASString;
p_Senha := DM.CDSForm.FieldByname(´Descricao´).AsString;
if Checper.Checked[I] = True then
p_ADM := ´T´;
if Checper.Checked[I] = True then
p_ADM := ´F´;
with DM.SQLPermis do Begin
close;
sql.clear;
sql.Add(´Insert Into Permi_Usuarios (ID_Usuar,ID_Form, Nom_Form, Descricao,Chec) Values(:p_Cod,:p_Filial,:p_User,:p_Senha,:p_ADM)´);
Params[0].value := p_Cod;
Params[1].value := p_Filial;
Params[2].value := p_User;
Params[3].value := p_Senha;
Params[4].value := p_ADM;
ExecSQL();
end;
end;[/color:9f0bcfa9c6]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)