Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Salvar O conteudo de uma CheckListBox no Banco de dad


José Rodrigo

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

procedure TForm1.BitBtn1Click(Sender: TObject);
var i : integer;
begin
   for i := 0 to CheckListBox1.Items.Count-1 do
      begin
         if CheckListBox1.Checked[i] = true then
             begin
                CDS_Cadastro.Last;
                CDS_Cadastro.Append;
                CDS_Cadastro.Edit;
                CDS_CadastroItem.Value := CheckListBox1.Items.Names[i];
                CDS_Cadastro.post;
                CDS_Cadastro.ApplyUpdates(-1);
                CDS_Cadastro.Next;
             end;
       end;
end;

Explicação:

1 - primeiro usa-se um for variando até o numero maximo de itens que voce colocou no CheckListBox1

2 - depois testa-se se o CheckListBox1.Checked esta verdadeiro ou falso

3 - se estiver verdadeiro então grava na tabela do banco de dados o nome item do CheckListBox1

4 - Vai para o proximo item do CheckListBox1

abraço

Editado por Jhonas
Link para o comentário
Compartilhar em outros sites

  • 0

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
  for i := 0 to CheckListBox1.Items.Count-1 do
      begin
         if CheckListBox1.Checked[i] = true then
             begin
                dm.tb_agendamento.Last;
                dm.tb_agendamento.Append;
                dm.tb_agendamento.Edit;
                dm.tb_agendamento.Value := CheckListBox1.Items.Names[i];
                dm.tb_agendamento.post;
                dm.tb_agendamento.ApplyUpdates(-1);
                dm.tb_agendamento.Next;
             end;
       end;

Coloquei da maneira citada acima e apareceu o seguite erro:

Undeclared idenyifier 'Value'

Se poder me ajudar.... obrigado!!

Editado por Micheus
Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização
Link para o comentário
Compartilhar em outros sites

  • 0

Tudo q foi levado em consideração na resposta acima esta correto...

var i : integer;

begin

for i := 0 to CheckListBox1.Items.Count-1 do

begin

if CheckListBox1.Checked = true then

begin

dm.tb_agendamento.Last;

dm.tb_agendamento.Append;

dm.tb_agendamento.Edit;

dm.tb_agendamentoExames.Value := CheckListBox1.Items.Names;

dm.tb_agendamento.post;

dm.tb_agendamento.ApplyUpdates(-1);

dm.tb_agendamento.Next;

end;

end;

TENTEI DA MANEIRA COLOCADA ACIMA E CONTINUA DANDO ERRO!!

too many actual parameters

Link para o comentário
Compartilhar em outros sites

  • 0

José, supondo que voce esteja usando uma tabela Paradox, isto funciona

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, CheckLst, Grids, DBGrids, DBTables, Db, DBClient, Provider;

type
  TForm1 = class(TForm)
    Button1: TButton;
    DS_Cadastro: TDataSource;
    DSP_Cadastro: TDataSetProvider;
    CDS_Cadastro: TClientDataSet;
    Cadastro_IB: TQuery;
    DBGrid1: TDBGrid;
    CheckListBox1: TCheckListBox;
    CDS_CadastroITEM: TStringField;
    CDS_CadastroCOD: TStringField;
    CDS_CadastroNUM: TFloatField;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}



procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
   for i := 0 to CheckListBox1.Items.Count-1 do
      begin
         if CheckListBox1.Checked[i] = true then
             begin
                CDS_Cadastro.Last;
                CDS_Cadastro.Append;
                CDS_Cadastro.Edit;
                CDS_CadastroITEM.Value := CheckListBox1.Items.Strings[i];
                CDS_Cadastro.post;
                CDS_Cadastro.ApplyUpdates(-1);
                CDS_Cadastro.Next;
             end;
       end;

end;

end.
Modificação no seu codigo se estiver usando Table
var i : integer;
begin
   for i := 0 to CheckListBox1.Items.Count-1 do
      begin
          if CheckListBox1.Checked[i] = true then
             begin
                 dm.tb_agendamento.Last;
                 dm.tb_agendamento.Append;
                 dm.tb_agendamento.Edit;
                 dm.tb_agendamentoExames.Value := CheckListBox1.Items.Strings[i];
                 dm.tb_agendamento.post;
                 dm.tb_agendamento.Next;
             end;
      end;
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...