Jump to content
Fórum Script Brasil
  • 0

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


José Rodrigo

Question

6 answers to this question

Recommended Posts

  • 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

Edited by Jhonas
Link to comment
Share on other 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!!

Edited by Micheus
Adicionado o delimitador de código [code] [/code]. Lembre-se de utilizá-lo para melhor visualização
Link to comment
Share on other sites

  • 0

Opa

levando em consideracao que

dm = TDataModule

tb_Agendamento = TTable

faltou voce passar antes de Value o nome do campo que vai receber os valores do CheckListBox

exemplo

dm.tb_agendamento.MeuCampo.Value := CheckListBox1.Items.Names;

abracos

Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.7k
×
×
  • Create New...