 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 1:11 pm Assunto: Missing data provider or datapacket? [RESOLVIDO] |
|
|
Pessoal, pelo erro que recebo
Missing data provider or datapacket
Acho que deve ser falta de setar o datasetprovider no clientdataset, mais não estou entendendo o porque, vejam meu código.
| Código: | unit U_PersonalizarCor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;
type
Tfrm_personalizarcor_receber = class(TForm)
gb_personalizar: TGroupBox;
Panel1: TPanel;
gbVencer: TGroupBox;
cb_corvencer: TColorBox;
chk_negritovencer: TCheckBox;
chk_italicovencer: TCheckBox;
chk_sublinhadovencer: TCheckBox;
chk_tachadovencer: TCheckBox;
chk_negritalicovencer: TCheckBox;
gbVencidos: TGroupBox;
cb_corvencido: TColorBox;
chk_negritovencido: TCheckBox;
chk_italicovencido: TCheckBox;
chk_sublinhadovencido: TCheckBox;
chk_tachadovencido: TCheckBox;
chk_negritalicovencido: TCheckBox;
gbCancelado: TGroupBox;
cb_corcancelado: TColorBox;
chk_negritocancelado: TCheckBox;
chk_italicocancelado: TCheckBox;
chk_sublinhadocancelado: TCheckBox;
chk_tachadocancelado: TCheckBox;
chk_negritalicocancelado: TCheckBox;
btn_Salvar: TButton;
cdsPersonalizarCor: TClientDataSet;
procedure FormShow(Sender: TObject);
procedure btn_SalvarClick(Sender: TObject);
private
{ Private declarations }
procedure GetDatabaseValue;
procedure SaveToDatabase;
function SelectDBase: Boolean;
public
{ Public declarations }
end;
var
frm_personalizarcor_receber: Tfrm_personalizarcor_receber;
implementation
uses uDM, StrUtils;
{$R *.dfm}
{ Tfrm_personalizarcor_receber }
{-------------------------------------------------------------------------------
Vamos usar um clientdataset que serve para conexão com qualquer componente
de banco de dados através de um datasetprovider.
o dataset proveider deve ficar junto no dm setado ao componente de acesso
ao banco e o clientdataset ficar no form e receber o dsp que esta do dm.
-------------------------------------------------------------------------------}
function ADIfThen(aValue: String): Boolean;
begin
if aValue = 'T' then
Result := True
else
Result := False;
end;
function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
begin
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
end;
end;
procedure Tfrm_personalizarcor_receber.GetDatabaseValue;
begin
if SelectDBase then
begin
with cdsPersonalizarCor do
try
cb_corvencer.Selected := StringToColor(FieldByName('CORVENCER').AsString);
chk_negritovencer.Checked := ADIfThen(FieldByName('NEGRITOVENCER').AsString);
chk_italicovencer.Checked := ADIfThen(FieldByName('ITALICOVENCER').AsString);
chk_sublinhadovencer.Checked := ADIfThen(FieldByName('SUBLINHADOVENCER').AsString);
chk_tachadovencer.Checked := ADIfThen(FieldByName('TACHADOVENCER').AsString);
chk_negritalicovencer.Checked := ADIfThen(FieldByName('NEGRITALICOVENCER').AsString);
cb_corvencido.Selected := StringToColor(FieldByName('CORVENCIDO').AsString);
chk_negritovencido.Checked := ADIfThen(FieldByName('NEGRITOVENCIDO').AsString);
chk_italicovencido.Checked := ADIfThen(FieldByName('ITALICOVENCIDO').AsString);
chk_sublinhadovencido.Checked := ADIfThen(FieldByName('SUBLINHADOVENCIDO').AsString);
chk_tachadovencido.Checked := ADIfThen(FieldByName('TACHADOVENCIDO').AsString);
chk_negritalicovencido.Checked := ADIfThen(FieldByName('NEGRITALICOVENCIDO').AsString);
cb_corcancelado.Selected := StringToColor(FieldByName('CORCANCELADO').AsString);
chk_negritocancelado.Checked := ADIfThen(FieldByName('NEGRITOCANCELADO').AsString);
chk_italicocancelado.Checked := ADIfThen(FieldByName('ITALICOCANCELADO').AsString);
chk_sublinhadocancelado.Checked := ADIfThen(FieldByName('SUBLINHADOCANCELADO').AsString);
chk_tachadocancelado.Checked := ADIfThen(FieldByName('TACHADOCANCELADO').AsString);
chk_negritalicocancelado.Checked := ADIfThen(FieldByName('NEGRITALICOCANCELADO').AsString);
finally
Close;
end;
end;
end;
procedure Tfrm_personalizarcor_receber.FormShow(Sender: TObject);
begin
//obtem os valores do banco
GetDatabaseValue;
end;
procedure Tfrm_personalizarcor_receber.SaveToDatabase;
begin
if SelectDBase then
//primeiro excluimos o que esta gravado no banco
cdsPersonalizarCor.Delete;
with cdsPersonalizarCor do
begin
if not Active then
Open;
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
//depois abrimos um novo insert para receber os novos dados
cdsPersonalizarCor.Append;
FieldByName('CORVENCER').AsString := ColorToString(cb_corvencer.Selected);
FieldByName('NEGRITOVENCER').AsString := IfThen(chk_negritovencer.Checked, 'T', 'F');
FieldByName('ITALICOVENCER').AsString := IfThen(chk_italicovencer.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCER').AsString := IfThen(chk_sublinhadovencer.Checked, 'T', 'F');
FieldByName('TACHADOVENCER').AsString := IfThen(chk_tachadovencer.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCER').AsString := IfThen(chk_negritalicovencer.Checked, 'T', 'F');
FieldByName('CORVENCIDO').AsString := ColorToString(cb_corvencido.Selected);
FieldByName('NEGRITOVENCIDO').AsString := IfThen(chk_negritovencido.Checked, 'T', 'F');
FieldByName('ITALICOVENCIDO').AsString := IfThen(chk_italicovencido.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCIDO').AsString := IfThen(chk_sublinhadovencido.Checked, 'T', 'F');
FieldByName('TACHADOVENCIDO').AsString := IfThen(chk_tachadovencido.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCIDO').AsString := IfThen(chk_negritalicovencido.Checked, 'T', 'F');
FieldByName('CORCANCELADO').AsString := ColorToString(cb_corcancelado.Selected);
FieldByName('NEGRITOCANCELADO').AsString := IfThen(chk_negritocancelado.Checked, 'T', 'F');
FieldByName('ITALICOCANCELADO').AsString := IfThen(chk_italicocancelado.Checked, 'T', 'F');
FieldByName('SUBLINHADOCANCELADO').AsString := IfThen(chk_sublinhadocancelado.Checked, 'T', 'F');
FieldByName('TACHADOCANCELADO').AsString := IfThen(chk_tachadocancelado.Checked, 'T', 'F');
FieldByName('NEGRITALICOCANCELADO').AsString := IfThen(chk_negritalicocancelado.Checked, 'T', 'F');
//Grava os dados
Post;
//Aplica as atualizações no banco
ApplyUpdates(0);
end;
end;
procedure Tfrm_personalizarcor_receber.btn_SalvarClick(Sender: TObject);
begin
SaveToDatabase;
end;
end. |
Quando vou chamar a procedure SaveToDatabase procuro ver se existe dados no banco usando esta função
| Código: | function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
begin
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
end;
end; |
Mais ao entrar no Open desta função gera o erro, alguém sabe me dizer o que está faltando para funcionar isso?
Obrigado. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Editado pela última vez por adriano_servitec em Qua Jan 18, 2012 2:41 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Jan 18, 2012 1:43 pm Assunto: |
|
|
| adriano_servitec escreveu: | Acabei de ver que este erro é devido a eu ter feito um empty na tabela.
Ai percebi que a primeira vez que tento gravar da o erro, ja a segunda vez que tento gravar, ele grava normal. |
Mas a propriedade do DataSet do Provider esta cetada ???? _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 1:46 pm Assunto: |
|
|
| marcosalles escreveu: | | adriano_servitec escreveu: | Acabei de ver que este erro é devido a eu ter feito um empty na tabela.
Ai percebi que a primeira vez que tento gravar da o erro, ja a segunda vez que tento gravar, ele grava normal. |
Mas a propriedade do DataSet do Provider esta cetada ???? |
Ta sim veja
| Citação: | function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
begin
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
end;
end; |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Jan 18, 2012 1:47 pm Assunto: |
|
|
eu me referia a propriedadede DataSet do Provider e não
a propriedade Provider do TDataSet
Esta eu vi que em seu código voce utilizou o SetProvider _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Jan 18, 2012 1:57 pm Assunto: |
|
|
So para agente entender e mais pessoas opiniarem .
Como voce esta dando este empty ?? _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Jan 18, 2012 2:07 pm Assunto: |
|
|
Voce esta se referindo a Dados .. (todos fields null. ??)
Apos fazer esta limpesa voce tentou gravar .. Ai apresenta o erro
Na segunda tentativa grava Normalmente
é isso ???
So uma curioisdade .. Quando voce fez este empty a conexão do Dbx
estava ativa ???? _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral
Editado pela última vez por marcosalles em Qua Jan 18, 2012 2:10 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 2:07 pm Assunto: |
|
|
Vou deixar postado tudo aqui se quiser dar uma olhada
A tabela
| Código: |
CREATE TABLE PERSONALIZARCOR_RECEBER (
CORVENCER VARCHAR(60),
NEGRITOVENCER CHAR(1),
ITALICOVENCER CHAR(1),
SUBLINHADOVENCER CHAR(1),
TACHADOVENCER CHAR(1),
NEGRITALICOVENCER CHAR(1),
CORVENCIDO VARCHAR(60),
NEGRITOVENCIDO CHAR(1),
ITALICOVENCIDO CHAR(1),
SUBLINHADOVENCIDO CHAR(1),
TACHADOVENCIDO CHAR(1),
NEGRITALICOVENCIDO CHAR(1),
CORCANCELADO VARCHAR(60),
NEGRITOCANCELADO CHAR(1),
ITALICOCANCELADO CHAR(1),
SUBLINHADOCANCELADO CHAR(1),
TACHADOCANCELADO CHAR(1),
NEGRITALICOCANCELADO CHAR(1)
);
|
O pas
| Código: | unit U_PersonalizarCor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;
type
Tfrm_personalizarcor_receber = class(TForm)
gb_personalizar: TGroupBox;
Panel1: TPanel;
gbVencer: TGroupBox;
cb_corvencer: TColorBox;
chk_negritovencer: TCheckBox;
chk_italicovencer: TCheckBox;
chk_sublinhadovencer: TCheckBox;
chk_tachadovencer: TCheckBox;
chk_negritalicovencer: TCheckBox;
gbVencidos: TGroupBox;
cb_corvencido: TColorBox;
chk_negritovencido: TCheckBox;
chk_italicovencido: TCheckBox;
chk_sublinhadovencido: TCheckBox;
chk_tachadovencido: TCheckBox;
chk_negritalicovencido: TCheckBox;
gbCancelado: TGroupBox;
cb_corcancelado: TColorBox;
chk_negritocancelado: TCheckBox;
chk_italicocancelado: TCheckBox;
chk_sublinhadocancelado: TCheckBox;
chk_tachadocancelado: TCheckBox;
chk_negritalicocancelado: TCheckBox;
btn_Salvar: TButton;
cdsPersonalizarCor: TClientDataSet;
procedure FormShow(Sender: TObject);
procedure btn_SalvarClick(Sender: TObject);
private
{ Private declarations }
procedure GetDatabaseValue;
procedure SaveToDatabase;
function SelectDBase: Boolean;
public
{ Public declarations }
end;
var
frm_personalizarcor_receber: Tfrm_personalizarcor_receber;
implementation
uses uDM, StrUtils;
{$R *.dfm}
{ Tfrm_personalizarcor_receber }
{-------------------------------------------------------------------------------
Vamos usar um clientdataset que serve para conexão com qualquer componente
de banco de dados através de um datasetprovider.
o dataset proveider deve ficar junto no dm setado ao componente de acesso
ao banco e o clientdataset ficar no form e receber o dsp que esta do dm.
-------------------------------------------------------------------------------}
function ADIfThen(aValue: String): Boolean;
begin
if aValue = 'T' then
Result := True
else
Result := False;
end;
function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
begin
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
end;
end;
procedure Tfrm_personalizarcor_receber.GetDatabaseValue;
begin
if SelectDBase then
begin
with cdsPersonalizarCor do
try
if Trim(FieldByName('CORVENCER').AsString) <> EmptyStr then
cb_corvencer.Selected := StringToColor(FieldByName('CORVENCER').AsString);
chk_negritovencer.Checked := ADIfThen(FieldByName('NEGRITOVENCER').AsString);
chk_italicovencer.Checked := ADIfThen(FieldByName('ITALICOVENCER').AsString);
chk_sublinhadovencer.Checked := ADIfThen(FieldByName('SUBLINHADOVENCER').AsString);
chk_tachadovencer.Checked := ADIfThen(FieldByName('TACHADOVENCER').AsString);
chk_negritalicovencer.Checked := ADIfThen(FieldByName('NEGRITALICOVENCER').AsString);
if Trim(FieldByName('CORVENCIDO').AsString) <> EmptyStr then
cb_corvencido.Selected := StringToColor(FieldByName('CORVENCIDO').AsString);
chk_negritovencido.Checked := ADIfThen(FieldByName('NEGRITOVENCIDO').AsString);
chk_italicovencido.Checked := ADIfThen(FieldByName('ITALICOVENCIDO').AsString);
chk_sublinhadovencido.Checked := ADIfThen(FieldByName('SUBLINHADOVENCIDO').AsString);
chk_tachadovencido.Checked := ADIfThen(FieldByName('TACHADOVENCIDO').AsString);
chk_negritalicovencido.Checked := ADIfThen(FieldByName('NEGRITALICOVENCIDO').AsString);
if Trim(FieldByName('CORCANCELADO').AsString) <> EmptyStr then
cb_corcancelado.Selected := StringToColor(FieldByName('CORCANCELADO').AsString);
chk_negritocancelado.Checked := ADIfThen(FieldByName('NEGRITOCANCELADO').AsString);
chk_italicocancelado.Checked := ADIfThen(FieldByName('ITALICOCANCELADO').AsString);
chk_sublinhadocancelado.Checked := ADIfThen(FieldByName('SUBLINHADOCANCELADO').AsString);
chk_tachadocancelado.Checked := ADIfThen(FieldByName('TACHADOCANCELADO').AsString);
chk_negritalicocancelado.Checked := ADIfThen(FieldByName('NEGRITALICOCANCELADO').AsString);
finally
Close;
end;
end;
end;
procedure Tfrm_personalizarcor_receber.FormShow(Sender: TObject);
begin
//obtem os valores do banco
GetDatabaseValue;
end;
procedure Tfrm_personalizarcor_receber.SaveToDatabase;
begin
try
if SelectDBase then
cdsPersonalizarCor.Delete;
with cdsPersonalizarCor do
begin
if not Active then
Open;
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
//depois abrimos um novo insert para receber os novos dados
cdsPersonalizarCor.Append;
FieldByName('CORVENCER').AsString := ColorToString(cb_corvencer.Selected);
FieldByName('NEGRITOVENCER').AsString := IfThen(chk_negritovencer.Checked, 'T', 'F');
FieldByName('ITALICOVENCER').AsString := IfThen(chk_italicovencer.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCER').AsString := IfThen(chk_sublinhadovencer.Checked, 'T', 'F');
FieldByName('TACHADOVENCER').AsString := IfThen(chk_tachadovencer.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCER').AsString := IfThen(chk_negritalicovencer.Checked, 'T', 'F');
FieldByName('CORVENCIDO').AsString := ColorToString(cb_corvencido.Selected);
FieldByName('NEGRITOVENCIDO').AsString := IfThen(chk_negritovencido.Checked, 'T', 'F');
FieldByName('ITALICOVENCIDO').AsString := IfThen(chk_italicovencido.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCIDO').AsString := IfThen(chk_sublinhadovencido.Checked, 'T', 'F');
FieldByName('TACHADOVENCIDO').AsString := IfThen(chk_tachadovencido.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCIDO').AsString := IfThen(chk_negritalicovencido.Checked, 'T', 'F');
FieldByName('CORCANCELADO').AsString := ColorToString(cb_corcancelado.Selected);
FieldByName('NEGRITOCANCELADO').AsString := IfThen(chk_negritocancelado.Checked, 'T', 'F');
FieldByName('ITALICOCANCELADO').AsString := IfThen(chk_italicocancelado.Checked, 'T', 'F');
FieldByName('SUBLINHADOCANCELADO').AsString := IfThen(chk_sublinhadocancelado.Checked, 'T', 'F');
FieldByName('TACHADOCANCELADO').AsString := IfThen(chk_tachadocancelado.Checked, 'T', 'F');
FieldByName('NEGRITALICOCANCELADO').AsString := IfThen(chk_negritalicocancelado.Checked, 'T', 'F');
//Grava os dados
Post;
//Aplica as atualizações no banco
ApplyUpdates(0);
end;
except
//
end;
end;
procedure Tfrm_personalizarcor_receber.btn_SalvarClick(Sender: TObject);
begin
SaveToDatabase;
end;
end. |
o DFM
| Código: | object gb_personalizar: TGroupBox
Left = 0
Top = 0
Width = 482
Height = 160
Align = alClient
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = []
ParentFont = False
TabOrder = 0
object gbVencer: TGroupBox
Left = 2
Top = 17
Width = 159
Height = 141
Align = alLeft
Caption = #192' Vencer'
TabOrder = 0
object cb_corvencer: TColorBox
Left = 8
Top = 22
Width = 145
Height = 22
ItemHeight = 16
TabOrder = 0
end
object chk_negritovencer: TCheckBox
Left = 8
Top = 48
Width = 97
Height = 17
Caption = 'Negrito'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 1
end
object chk_italicovencer: TCheckBox
Left = 8
Top = 64
Width = 97
Height = 17
Caption = 'It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsItalic]
ParentFont = False
TabOrder = 2
end
object chk_sublinhadovencer: TCheckBox
Left = 8
Top = 81
Width = 97
Height = 17
Caption = 'Sublinhado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsUnderline]
ParentFont = False
TabOrder = 3
end
object chk_tachadovencer: TCheckBox
Left = 8
Top = 98
Width = 97
Height = 17
Caption = 'Tachado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsStrikeOut]
ParentFont = False
TabOrder = 4
end
object chk_negritalicovencer: TCheckBox
Left = 8
Top = 115
Width = 141
Height = 17
Caption = 'Negrito e It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold, fsItalic]
ParentFont = False
TabOrder = 5
end
end
object gbVencidos: TGroupBox
Left = 161
Top = 17
Width = 159
Height = 141
Align = alLeft
Caption = 'Vencidos'
TabOrder = 1
object cb_corvencido: TColorBox
Left = 8
Top = 22
Width = 145
Height = 22
ItemHeight = 16
TabOrder = 0
end
object chk_negritovencido: TCheckBox
Left = 8
Top = 48
Width = 97
Height = 17
Caption = 'Negrito'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 1
end
object chk_italicovencido: TCheckBox
Left = 8
Top = 64
Width = 97
Height = 17
Caption = 'It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsItalic]
ParentFont = False
TabOrder = 2
end
object chk_sublinhadovencido: TCheckBox
Left = 8
Top = 81
Width = 97
Height = 17
Caption = 'Sublinhado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsUnderline]
ParentFont = False
TabOrder = 3
end
object chk_tachadovencido: TCheckBox
Left = 8
Top = 98
Width = 97
Height = 17
Caption = 'Tachado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsStrikeOut]
ParentFont = False
TabOrder = 4
end
object chk_negritalicovencido: TCheckBox
Left = 8
Top = 115
Width = 141
Height = 17
Caption = 'Negrito e It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold, fsItalic]
ParentFont = False
TabOrder = 5
end
end
object gbCancelado: TGroupBox
Left = 320
Top = 17
Width = 159
Height = 141
Align = alLeft
Caption = 'Cancelados'
TabOrder = 2
object cb_corcancelado: TColorBox
Left = 8
Top = 22
Width = 145
Height = 22
ItemHeight = 16
TabOrder = 0
end
object chk_negritocancelado: TCheckBox
Left = 8
Top = 48
Width = 97
Height = 17
Caption = 'Negrito'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold]
ParentFont = False
TabOrder = 1
end
object chk_italicocancelado: TCheckBox
Left = 8
Top = 64
Width = 97
Height = 17
Caption = 'It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsItalic]
ParentFont = False
TabOrder = 2
end
object chk_sublinhadocancelado: TCheckBox
Left = 8
Top = 81
Width = 97
Height = 17
Caption = 'Sublinhado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsUnderline]
ParentFont = False
TabOrder = 3
end
object chk_tachadocancelado: TCheckBox
Left = 8
Top = 98
Width = 97
Height = 17
Caption = 'Tachado'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsStrikeOut]
ParentFont = False
TabOrder = 4
end
object chk_negritalicocancelado: TCheckBox
Left = 8
Top = 115
Width = 141
Height = 17
Caption = 'Negrito e It'#225'lico'
Font.Charset = ANSI_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Courier New'
Font.Style = [fsBold, fsItalic]
ParentFont = False
TabOrder = 5
end
end
end
object Panel1: TPanel
Left = 0
Top = 160
Width = 482
Height = 41
Align = alBottom
TabOrder = 1
object btn_Salvar: TButton
Left = 8
Top = 8
Width = 75
Height = 25
Caption = '&Salvar'
TabOrder = 0
OnClick = btn_SalvarClick
end
end
object cdsPersonalizarCor: TClientDataSet
Aggregates = <>
Params = <>
Left = 248
Top = 168
end
|
E o dfm do datamodule
| Código: | object dspCor_Receber: TDataSetProvider
DataSet = sqlDSCorReceber
Left = 96
Top = 128
end
object SQLConnection1: TSQLConnection
ConnectionName = 'MyTeste'
DriverName = 'Interbase'
GetDriverFunc = 'getSQLDriverINTERBASE'
LibraryName = 'dbexpint.dll'
LoginPrompt = False
Params.Strings = (
'DriverName=Interbase'
'Database=C:\temp\TESTESP.FDB'
'RoleName=RoleName'
'USER_NAME=SYSDBA'
'Password=masterkey'
'ServerCharSet='
'SQLDialect=3'
'BlobSize=-1'
'CommitRetain=False'
'WaitOnLocks=True'
'ErrorResourceFile='
'LocaleCode=0000'
'Interbase TransIsolation=ReadCommited'
'Trim Char=False')
VendorLib = 'gds32.dll'
Connected = True
Left = 48
Top = 8
end
object sqlDSCorReceber: TSQLDataSet
CommandText = 'select * from PERSONALIZARCOR_RECEBER'
MaxBlobSize = -1
Params = <>
SQLConnection = SQLConnection1
Left = 64
Top = 64
end
|
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
marcosalles Moderador

Registrado: Quarta-Feira, 26 de Março de 2008 Mensagens: 1695 Localização: Muriaé Mg
|
Enviada: Qua Jan 18, 2012 2:11 pm Assunto: |
|
|
Sei não , mas acredito é porque ele estava aberto _________________ http://marcosalles.wordpress.com
Desenvolvo FreeLancer e presto Consultoria
Orientação Online DataSnap DbX ClientDataSet
POO , Padrões de Projeto e dúvidas de Delphi em
Geral |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 2:21 pm Assunto: |
|
|
| marcosalles escreveu: | | Sei não , mas acredito é porque ele estava aberto | Mudei a função agora, e esta funcionando, veja
| Código: | unit U_PersonalizarCor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;
type
Tfrm_personalizarcor_receber = class(TForm)
gb_personalizar: TGroupBox;
Panel1: TPanel;
gbVencer: TGroupBox;
cb_corvencer: TColorBox;
chk_negritovencer: TCheckBox;
chk_italicovencer: TCheckBox;
chk_sublinhadovencer: TCheckBox;
chk_tachadovencer: TCheckBox;
chk_negritalicovencer: TCheckBox;
gbVencidos: TGroupBox;
cb_corvencido: TColorBox;
chk_negritovencido: TCheckBox;
chk_italicovencido: TCheckBox;
chk_sublinhadovencido: TCheckBox;
chk_tachadovencido: TCheckBox;
chk_negritalicovencido: TCheckBox;
gbCancelado: TGroupBox;
cb_corcancelado: TColorBox;
chk_negritocancelado: TCheckBox;
chk_italicocancelado: TCheckBox;
chk_sublinhadocancelado: TCheckBox;
chk_tachadocancelado: TCheckBox;
chk_negritalicocancelado: TCheckBox;
btn_Salvar: TButton;
cdsPersonalizarCor: TClientDataSet;
procedure FormShow(Sender: TObject);
procedure btn_SalvarClick(Sender: TObject);
private
{ Private declarations }
procedure GetDatabaseValue;
procedure SaveToDatabase;
function SelectDBase: Boolean;
public
{ Public declarations }
end;
var
frm_personalizarcor_receber: Tfrm_personalizarcor_receber;
implementation
uses uDM, StrUtils;
{$R *.dfm}
{ Tfrm_personalizarcor_receber }
{-------------------------------------------------------------------------------
Vamos usar um clientdataset que serve para conexão com qualquer componente
de banco de dados através de um datasetprovider.
o dataset proveider deve ficar junto no dm setado ao componente de acesso
ao banco e o clientdataset ficar no form e receber o dsp que esta do dm.
-------------------------------------------------------------------------------}
function ADIfThen(aValue: String): Boolean;
begin
if aValue = 'T' then
Result := True
else
Result := False;
end;
function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
try
if not dm.SQLConnection1.Connected then
dm.SQLConnection1.Connected := True;
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
finally
Close;
end;
end;
procedure Tfrm_personalizarcor_receber.GetDatabaseValue;
begin
if SelectDBase then
begin
with cdsPersonalizarCor do
try
if Trim(FieldByName('CORVENCER').AsString) <> EmptyStr then
cb_corvencer.Selected := StringToColor(FieldByName('CORVENCER').AsString);
chk_negritovencer.Checked := ADIfThen(FieldByName('NEGRITOVENCER').AsString);
chk_italicovencer.Checked := ADIfThen(FieldByName('ITALICOVENCER').AsString);
chk_sublinhadovencer.Checked := ADIfThen(FieldByName('SUBLINHADOVENCER').AsString);
chk_tachadovencer.Checked := ADIfThen(FieldByName('TACHADOVENCER').AsString);
chk_negritalicovencer.Checked := ADIfThen(FieldByName('NEGRITALICOVENCER').AsString);
if Trim(FieldByName('CORVENCIDO').AsString) <> EmptyStr then
cb_corvencido.Selected := StringToColor(FieldByName('CORVENCIDO').AsString);
chk_negritovencido.Checked := ADIfThen(FieldByName('NEGRITOVENCIDO').AsString);
chk_italicovencido.Checked := ADIfThen(FieldByName('ITALICOVENCIDO').AsString);
chk_sublinhadovencido.Checked := ADIfThen(FieldByName('SUBLINHADOVENCIDO').AsString);
chk_tachadovencido.Checked := ADIfThen(FieldByName('TACHADOVENCIDO').AsString);
chk_negritalicovencido.Checked := ADIfThen(FieldByName('NEGRITALICOVENCIDO').AsString);
if Trim(FieldByName('CORCANCELADO').AsString) <> EmptyStr then
cb_corcancelado.Selected := StringToColor(FieldByName('CORCANCELADO').AsString);
chk_negritocancelado.Checked := ADIfThen(FieldByName('NEGRITOCANCELADO').AsString);
chk_italicocancelado.Checked := ADIfThen(FieldByName('ITALICOCANCELADO').AsString);
chk_sublinhadocancelado.Checked := ADIfThen(FieldByName('SUBLINHADOCANCELADO').AsString);
chk_tachadocancelado.Checked := ADIfThen(FieldByName('TACHADOCANCELADO').AsString);
chk_negritalicocancelado.Checked := ADIfThen(FieldByName('NEGRITALICOCANCELADO').AsString);
finally
Close;
end;
end;
end;
procedure Tfrm_personalizarcor_receber.FormShow(Sender: TObject);
begin
//obtem os valores do banco
GetDatabaseValue;
end;
procedure Tfrm_personalizarcor_receber.SaveToDatabase;
begin
try
if SelectDBase then
cdsPersonalizarCor.Delete;
with cdsPersonalizarCor do
begin
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
if not Active then
Open;
//depois abrimos um novo insert para receber os novos dados
cdsPersonalizarCor.Append;
FieldByName('CORVENCER').AsString := ColorToString(cb_corvencer.Selected);
FieldByName('NEGRITOVENCER').AsString := IfThen(chk_negritovencer.Checked, 'T', 'F');
FieldByName('ITALICOVENCER').AsString := IfThen(chk_italicovencer.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCER').AsString := IfThen(chk_sublinhadovencer.Checked, 'T', 'F');
FieldByName('TACHADOVENCER').AsString := IfThen(chk_tachadovencer.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCER').AsString := IfThen(chk_negritalicovencer.Checked, 'T', 'F');
FieldByName('CORVENCIDO').AsString := ColorToString(cb_corvencido.Selected);
FieldByName('NEGRITOVENCIDO').AsString := IfThen(chk_negritovencido.Checked, 'T', 'F');
FieldByName('ITALICOVENCIDO').AsString := IfThen(chk_italicovencido.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCIDO').AsString := IfThen(chk_sublinhadovencido.Checked, 'T', 'F');
FieldByName('TACHADOVENCIDO').AsString := IfThen(chk_tachadovencido.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCIDO').AsString := IfThen(chk_negritalicovencido.Checked, 'T', 'F');
FieldByName('CORCANCELADO').AsString := ColorToString(cb_corcancelado.Selected);
FieldByName('NEGRITOCANCELADO').AsString := IfThen(chk_negritocancelado.Checked, 'T', 'F');
FieldByName('ITALICOCANCELADO').AsString := IfThen(chk_italicocancelado.Checked, 'T', 'F');
FieldByName('SUBLINHADOCANCELADO').AsString := IfThen(chk_sublinhadocancelado.Checked, 'T', 'F');
FieldByName('TACHADOCANCELADO').AsString := IfThen(chk_tachadocancelado.Checked, 'T', 'F');
FieldByName('NEGRITALICOCANCELADO').AsString := IfThen(chk_negritalicocancelado.Checked, 'T', 'F');
//Grava os dados
Post;
//Aplica as atualizações no banco
ApplyUpdates(0);
end;
except
//
end;
end;
procedure Tfrm_personalizarcor_receber.btn_SalvarClick(Sender: TObject);
begin
SaveToDatabase;
end;
end. |
Obrigado amigo, deu certo agora. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 2:31 pm Assunto: |
|
|
Alias, tem algumas falhas neste codigo
Fiz uns ajustes, e criei um novo procedure chamado getValueprovider, para tentar resolver o erro, pois agora estou fechando o cds, mais ainda da pau quando salvo uma vez e tento salvar novamente
| Código: | unit U_PersonalizarCor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;
type
Tfrm_personalizarcor_receber = class(TForm)
gb_personalizar: TGroupBox;
Panel1: TPanel;
gbVencer: TGroupBox;
cb_corvencer: TColorBox;
chk_negritovencer: TCheckBox;
chk_italicovencer: TCheckBox;
chk_sublinhadovencer: TCheckBox;
chk_tachadovencer: TCheckBox;
chk_negritalicovencer: TCheckBox;
gbVencidos: TGroupBox;
cb_corvencido: TColorBox;
chk_negritovencido: TCheckBox;
chk_italicovencido: TCheckBox;
chk_sublinhadovencido: TCheckBox;
chk_tachadovencido: TCheckBox;
chk_negritalicovencido: TCheckBox;
gbCancelado: TGroupBox;
cb_corcancelado: TColorBox;
chk_negritocancelado: TCheckBox;
chk_italicocancelado: TCheckBox;
chk_sublinhadocancelado: TCheckBox;
chk_tachadocancelado: TCheckBox;
chk_negritalicocancelado: TCheckBox;
btn_Salvar: TButton;
cdsPersonalizarCor: TClientDataSet;
procedure FormShow(Sender: TObject);
procedure btn_SalvarClick(Sender: TObject);
private
{ Private declarations }
procedure GetDatabaseValue;
procedure SaveToDatabase;
procedure GetValueProvider(aCDS: TClientDataSet);
function SelectDBase: Boolean;
public
{ Public declarations }
end;
var
frm_personalizarcor_receber: Tfrm_personalizarcor_receber;
implementation
uses uDM, StrUtils;
{$R *.dfm}
{ Tfrm_personalizarcor_receber }
{-------------------------------------------------------------------------------
Vamos usar um clientdataset que serve para conexão com qualquer componente
de banco de dados através de um datasetprovider.
o dataset proveider deve ficar junto no dm setado ao componente de acesso
ao banco e o clientdataset ficar no form e receber o dsp que esta do dm.
-------------------------------------------------------------------------------}
function ADIfThen(aValue: String): Boolean;
begin
if aValue = 'T' then
Result := True
else
Result := False;
end;
function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
try
if not dm.SQLConnection1.Connected then
dm.SQLConnection1.Connected := True;
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
finally
Close;
end;
end;
procedure Tfrm_personalizarcor_receber.GetDatabaseValue;
begin
if SelectDBase then
begin
with cdsPersonalizarCor do
try
//seta ao dsp que esta no dm
GetValueProvider(cdsPersonalizarCor);
if Trim(FieldByName('CORVENCER').AsString) <> EmptyStr then
cb_corvencer.Selected := StringToColor(FieldByName('CORVENCER').AsString);
chk_negritovencer.Checked := ADIfThen(FieldByName('NEGRITOVENCER').AsString);
chk_italicovencer.Checked := ADIfThen(FieldByName('ITALICOVENCER').AsString);
chk_sublinhadovencer.Checked := ADIfThen(FieldByName('SUBLINHADOVENCER').AsString);
chk_tachadovencer.Checked := ADIfThen(FieldByName('TACHADOVENCER').AsString);
chk_negritalicovencer.Checked := ADIfThen(FieldByName('NEGRITALICOVENCER').AsString);
if Trim(FieldByName('CORVENCIDO').AsString) <> EmptyStr then
cb_corvencido.Selected := StringToColor(FieldByName('CORVENCIDO').AsString);
chk_negritovencido.Checked := ADIfThen(FieldByName('NEGRITOVENCIDO').AsString);
chk_italicovencido.Checked := ADIfThen(FieldByName('ITALICOVENCIDO').AsString);
chk_sublinhadovencido.Checked := ADIfThen(FieldByName('SUBLINHADOVENCIDO').AsString);
chk_tachadovencido.Checked := ADIfThen(FieldByName('TACHADOVENCIDO').AsString);
chk_negritalicovencido.Checked := ADIfThen(FieldByName('NEGRITALICOVENCIDO').AsString);
if Trim(FieldByName('CORCANCELADO').AsString) <> EmptyStr then
cb_corcancelado.Selected := StringToColor(FieldByName('CORCANCELADO').AsString);
chk_negritocancelado.Checked := ADIfThen(FieldByName('NEGRITOCANCELADO').AsString);
chk_italicocancelado.Checked := ADIfThen(FieldByName('ITALICOCANCELADO').AsString);
chk_sublinhadocancelado.Checked := ADIfThen(FieldByName('SUBLINHADOCANCELADO').AsString);
chk_tachadocancelado.Checked := ADIfThen(FieldByName('TACHADOCANCELADO').AsString);
chk_negritalicocancelado.Checked := ADIfThen(FieldByName('NEGRITALICOCANCELADO').AsString);
finally
Close;
end;
end;
end;
procedure Tfrm_personalizarcor_receber.FormShow(Sender: TObject);
begin
//obtem os valores do banco
GetDatabaseValue;
end;
procedure Tfrm_personalizarcor_receber.SaveToDatabase;
begin
try
if SelectDBase then
begin
GetValueProvider(cdsPersonalizarCor);
cdsPersonalizarCor.Delete;
end;
with cdsPersonalizarCor do
begin
//seta ao dsp que esta no dm
GetValueProvider(cdsPersonalizarCor);
//depois abrimos um novo insert para receber os novos dados
cdsPersonalizarCor.Append;
FieldByName('CORVENCER').AsString := ColorToString(cb_corvencer.Selected);
FieldByName('NEGRITOVENCER').AsString := IfThen(chk_negritovencer.Checked, 'T', 'F');
FieldByName('ITALICOVENCER').AsString := IfThen(chk_italicovencer.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCER').AsString := IfThen(chk_sublinhadovencer.Checked, 'T', 'F');
FieldByName('TACHADOVENCER').AsString := IfThen(chk_tachadovencer.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCER').AsString := IfThen(chk_negritalicovencer.Checked, 'T', 'F');
FieldByName('CORVENCIDO').AsString := ColorToString(cb_corvencido.Selected);
FieldByName('NEGRITOVENCIDO').AsString := IfThen(chk_negritovencido.Checked, 'T', 'F');
FieldByName('ITALICOVENCIDO').AsString := IfThen(chk_italicovencido.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCIDO').AsString := IfThen(chk_sublinhadovencido.Checked, 'T', 'F');
FieldByName('TACHADOVENCIDO').AsString := IfThen(chk_tachadovencido.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCIDO').AsString := IfThen(chk_negritalicovencido.Checked, 'T', 'F');
FieldByName('CORCANCELADO').AsString := ColorToString(cb_corcancelado.Selected);
FieldByName('NEGRITOCANCELADO').AsString := IfThen(chk_negritocancelado.Checked, 'T', 'F');
FieldByName('ITALICOCANCELADO').AsString := IfThen(chk_italicocancelado.Checked, 'T', 'F');
FieldByName('SUBLINHADOCANCELADO').AsString := IfThen(chk_sublinhadocancelado.Checked, 'T', 'F');
FieldByName('TACHADOCANCELADO').AsString := IfThen(chk_tachadocancelado.Checked, 'T', 'F');
FieldByName('NEGRITALICOCANCELADO').AsString := IfThen(chk_negritalicocancelado.Checked, 'T', 'F');
//Grava os dados
Post;
//Aplica as atualizações no banco
ApplyUpdates(0);
end;
except
//
end;
end;
procedure Tfrm_personalizarcor_receber.btn_SalvarClick(Sender: TObject);
begin
SaveToDatabase;
end;
procedure Tfrm_personalizarcor_receber.GetValueProvider(
aCDS: TClientDataSet);
begin
with aCDS do
begin
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
if not Active then
Open;
end;
end;
end. |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Jan 18, 2012 2:40 pm Assunto: |
|
|
Pronto agora esta resolvido, faltou dar um Close na procedure saveToDatabase;
O codigo final ficou assim
| Código: | unit U_PersonalizarCor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, DBClient, Provider;
type
Tfrm_personalizarcor_receber = class(TForm)
gb_personalizar: TGroupBox;
Panel1: TPanel;
gbVencer: TGroupBox;
cb_corvencer: TColorBox;
chk_negritovencer: TCheckBox;
chk_italicovencer: TCheckBox;
chk_sublinhadovencer: TCheckBox;
chk_tachadovencer: TCheckBox;
chk_negritalicovencer: TCheckBox;
gbVencidos: TGroupBox;
cb_corvencido: TColorBox;
chk_negritovencido: TCheckBox;
chk_italicovencido: TCheckBox;
chk_sublinhadovencido: TCheckBox;
chk_tachadovencido: TCheckBox;
chk_negritalicovencido: TCheckBox;
gbCancelado: TGroupBox;
cb_corcancelado: TColorBox;
chk_negritocancelado: TCheckBox;
chk_italicocancelado: TCheckBox;
chk_sublinhadocancelado: TCheckBox;
chk_tachadocancelado: TCheckBox;
chk_negritalicocancelado: TCheckBox;
btn_Salvar: TButton;
cdsPersonalizarCor: TClientDataSet;
procedure FormShow(Sender: TObject);
procedure btn_SalvarClick(Sender: TObject);
private
{ Private declarations }
procedure GetDatabaseValue;
procedure SaveToDatabase;
procedure GetValueProvider(aCDS: TClientDataSet);
function SelectDBase: Boolean;
public
{ Public declarations }
end;
var
frm_personalizarcor_receber: Tfrm_personalizarcor_receber;
implementation
uses uDM, StrUtils;
{$R *.dfm}
{ Tfrm_personalizarcor_receber }
{-------------------------------------------------------------------------------
Vamos usar um clientdataset que serve para conexão com qualquer componente
de banco de dados através de um datasetprovider.
o dataset proveider deve ficar junto no dm setado ao componente de acesso
ao banco e o clientdataset ficar no form e receber o dsp que esta do dm.
-------------------------------------------------------------------------------}
function ADIfThen(aValue: String): Boolean;
begin
if aValue = 'T' then
Result := True
else
Result := False;
end;
function Tfrm_personalizarcor_receber.SelectDBase: Boolean;
begin
with cdsPersonalizarCor do
try
//muda o datasetprovider para o cds executar comandos SQL
dm.dspCor_Receber.Options := dm.dspCor_Receber.Options + [poAllowCommandText];
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
Close;
CommandText := ' SELECT * FROM PERSONALIZARCOR_RECEBER ';
Open;
if not IsEmpty then
Result := True
else
Result := False;
finally
Close;
end;
end;
procedure Tfrm_personalizarcor_receber.GetDatabaseValue;
begin
if SelectDBase then
begin
with cdsPersonalizarCor do
try
//seta ao dsp que esta no dm
GetValueProvider(cdsPersonalizarCor);
if Trim(FieldByName('CORVENCER').AsString) <> EmptyStr then
cb_corvencer.Selected := StringToColor(FieldByName('CORVENCER').AsString);
chk_negritovencer.Checked := ADIfThen(FieldByName('NEGRITOVENCER').AsString);
chk_italicovencer.Checked := ADIfThen(FieldByName('ITALICOVENCER').AsString);
chk_sublinhadovencer.Checked := ADIfThen(FieldByName('SUBLINHADOVENCER').AsString);
chk_tachadovencer.Checked := ADIfThen(FieldByName('TACHADOVENCER').AsString);
chk_negritalicovencer.Checked := ADIfThen(FieldByName('NEGRITALICOVENCER').AsString);
if Trim(FieldByName('CORVENCIDO').AsString) <> EmptyStr then
cb_corvencido.Selected := StringToColor(FieldByName('CORVENCIDO').AsString);
chk_negritovencido.Checked := ADIfThen(FieldByName('NEGRITOVENCIDO').AsString);
chk_italicovencido.Checked := ADIfThen(FieldByName('ITALICOVENCIDO').AsString);
chk_sublinhadovencido.Checked := ADIfThen(FieldByName('SUBLINHADOVENCIDO').AsString);
chk_tachadovencido.Checked := ADIfThen(FieldByName('TACHADOVENCIDO').AsString);
chk_negritalicovencido.Checked := ADIfThen(FieldByName('NEGRITALICOVENCIDO').AsString);
if Trim(FieldByName('CORCANCELADO').AsString) <> EmptyStr then
cb_corcancelado.Selected := StringToColor(FieldByName('CORCANCELADO').AsString);
chk_negritocancelado.Checked := ADIfThen(FieldByName('NEGRITOCANCELADO').AsString);
chk_italicocancelado.Checked := ADIfThen(FieldByName('ITALICOCANCELADO').AsString);
chk_sublinhadocancelado.Checked := ADIfThen(FieldByName('SUBLINHADOCANCELADO').AsString);
chk_tachadocancelado.Checked := ADIfThen(FieldByName('TACHADOCANCELADO').AsString);
chk_negritalicocancelado.Checked := ADIfThen(FieldByName('NEGRITALICOCANCELADO').AsString);
finally
Close;
end;
end;
end;
procedure Tfrm_personalizarcor_receber.FormShow(Sender: TObject);
begin
//obtem os valores do banco
GetDatabaseValue;
end;
procedure Tfrm_personalizarcor_receber.SaveToDatabase;
begin
try
if SelectDBase then
begin
GetValueProvider(cdsPersonalizarCor);
cdsPersonalizarCor.Delete;
end;
with cdsPersonalizarCor do
begin
//seta ao dsp que esta no dm
GetValueProvider(cdsPersonalizarCor);
//depois abrimos um novo insert para receber os novos dados
cdsPersonalizarCor.Append;
FieldByName('CORVENCER').AsString := ColorToString(cb_corvencer.Selected);
FieldByName('NEGRITOVENCER').AsString := IfThen(chk_negritovencer.Checked, 'T', 'F');
FieldByName('ITALICOVENCER').AsString := IfThen(chk_italicovencer.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCER').AsString := IfThen(chk_sublinhadovencer.Checked, 'T', 'F');
FieldByName('TACHADOVENCER').AsString := IfThen(chk_tachadovencer.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCER').AsString := IfThen(chk_negritalicovencer.Checked, 'T', 'F');
FieldByName('CORVENCIDO').AsString := ColorToString(cb_corvencido.Selected);
FieldByName('NEGRITOVENCIDO').AsString := IfThen(chk_negritovencido.Checked, 'T', 'F');
FieldByName('ITALICOVENCIDO').AsString := IfThen(chk_italicovencido.Checked, 'T', 'F');
FieldByName('SUBLINHADOVENCIDO').AsString := IfThen(chk_sublinhadovencido.Checked, 'T', 'F');
FieldByName('TACHADOVENCIDO').AsString := IfThen(chk_tachadovencido.Checked, 'T', 'F');
FieldByName('NEGRITALICOVENCIDO').AsString := IfThen(chk_negritalicovencido.Checked, 'T', 'F');
FieldByName('CORCANCELADO').AsString := ColorToString(cb_corcancelado.Selected);
FieldByName('NEGRITOCANCELADO').AsString := IfThen(chk_negritocancelado.Checked, 'T', 'F');
FieldByName('ITALICOCANCELADO').AsString := IfThen(chk_italicocancelado.Checked, 'T', 'F');
FieldByName('SUBLINHADOCANCELADO').AsString := IfThen(chk_sublinhadocancelado.Checked, 'T', 'F');
FieldByName('TACHADOCANCELADO').AsString := IfThen(chk_tachadocancelado.Checked, 'T', 'F');
FieldByName('NEGRITALICOCANCELADO').AsString := IfThen(chk_negritalicocancelado.Checked, 'T', 'F');
//Grava os dados
Post;
//Aplica as atualizações no banco
ApplyUpdates(0);
Close;
end;
except
//
end;
end;
procedure Tfrm_personalizarcor_receber.btn_SalvarClick(Sender: TObject);
begin
SaveToDatabase;
end;
procedure Tfrm_personalizarcor_receber.GetValueProvider(
aCDS: TClientDataSet);
begin
with aCDS do
begin
//seta ao dsp que esta no dm
SetProvider(dm.dspCor_Receber);
if not Active then
Open;
end;
end;
end. |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|