Serial | 932 |
Módulos | CENTRO DE INFORMAÇÕES |
Resumo | Atribuindo valores a cursores tipo objeto |
Alterações | Esta 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). |
Data | 02/12/2010 |