Novidades AICS
Editar Novo dado
Serial932
MódulosCENTRO DE INFORMAÇÕES
ResumoAtribuindo valores a cursores tipo objeto
AlteraçõesEsta nota pode ser considerada altamente técnica por alguns
usuários.

Na montagem de acessos a dados, os scripts podem utilizar
comandos do tipo TableExecSQL e os nomes dos cursores
passam a ser simples Strings. As atribuições são também
super simples e encapsulam possíveis falhas nas atribuições.

Entretanto, o AICS permite a criação de objetos de acessos
a dados tipo TADOQuery. Estes objetos podem representar
objetos tipo ADO ou outros tipos de objetos de acessos a
dados, depende apenas da versão do AICS utilizada.

Pois bem, no primeiro caso, os comandos de atribuição de
valores são do tipo SetString, SetFloat, SetDateTime etc. Mas,
estes comandos de atribuição requerem o uso de cursores
escondidos a partir dos alias atribuídos em comandos
TableExecSql. Se os cursores forem reais, pode-se atribuir
valores com a sintaxe Cursor.fieldbyname('nome do campo').as...

Onde, o as... pode ser AsString, AsFloat etc. Este comando
NÃO está imune a erros, isto é, se houver um erro no seu
código ou outra falha, o script poderá ser interrompido.

Ainda, se o cursor estiver fechado e for do tipo parâmetros
dinâmicos, a atribuição é ainda mais complicada. Visando
facilitar e encapsular estes comandos, a BF publicou as
atribuições internas que o AICS dispõe aos scripts dos
usuários, relacionados a seguir:

Procedure SetFloatDS(Cursor:DelphiTDataSet;Coluna:string;Valor:Double)
Procedure SetStringDS(Cursor:DelphiTDataSet;Coluna, Valor:string)
Procedure SetIntegerDS(Cursor:DelphiTDataSet;Coluna:string; Valor:longint)
Procedure SetDateTimeDS(Cursor:DelphiTDataSet;Coluna:string; Valor:Double)
Procedure SetLogicalDS(Cursor:DelphiTDataSet;Coluna:string; Valor:boolean)

A grande vantagem destes comandos está em não gerarem erros
e, ainda, os cursores podem ser do tipo aberto (em edição) ou
fechados (com parâmetros).
Data02/12/2010