Além das manipulações explicadas no vídeo, note-se que:
Não podemos usar ponteiros ou elementos de array em ma solicitação SQL porque o intérprete não nos toma em consideração.
Neste caso, é preferível constituir a pesquisa na forma de texto e executá-lo usando o comando EXECUTE IMMEDIATE.
`VARIABLE TYPING IMPERATIVE, caso contrário a petição gera um erro ARRAY TEXT(ArrTechniciansStats;0) `Criar um array sem elementos que será cheio pela seguinte petição ARRAY TEXT($ArrTechniciansID;0) `Array no qual são guardados os IDs dos Technicians
`Não esqueça o caractere espaço ou retorno de carro ao final de cada linha C_TEXT($TextQuery) $TextQuery:="SELECT Last_name, ID " $TextQuery:=$TextQuery+"FROM TECHNICIANS " $TextQuery:=$TextQuery+"INTO :ArrTechnicians, :$ArrTechniciansID"
Begin SQL`Só queremos recuperar o sobrenome do técnico e guardá-lo em um array
EXECUTE IMMEDIATE :$TextQuery; End SQL
Isto seleciona o sobrenome e o ID na tabela Technicians e os transfere aos 2 arrays.
Neste vídeo, vamos aprender como implementar comandos SQL simples integrados a programação de 4D em duas formas:
Várias linhas de comando SQL inseridas em um bloqueio de processamento SQL
Somente uma linha de comando que executa a lista de comandos armazenados em uma variável texto.
Além da linguagem de 4D, podemos integrar em 4D os comandos SQL como o realiza em outras ferramentas:
mysql_query em PHP
INCLUDE SQLCA em COBOL
etc.
Estes comandos também podem ser integrados facilmente em seus projetos de desenvolvimento existentes.
Vamos tomar nosso formulário Statistics para calcular o mesmo array baseado nos comandos SQL:
Duplicamos o botão
O começo do método fica igual
Como não selecionamos registros, o array Technicians terá 0 elementos
Adicionamos o array dos identificadores dos técnicos em uma variável local; não o necessitamos conservar posteriormente
Logo integramos nosso código SQL Este seleciona o sobrenome e o ID da tabela Technicians e os transfere nos 2 arrays.
Note a sintaxes que indica a 4D transferir o resultado nos arrays. Utilizamos o nome da variável precedida pelo símbolo “:” (dois pontos). O resto do método (dimensionamento do array de intervenções) permanece globalmente estruturado da mesma maneira:
Acabamos de adicionar o valor $Num para saber quantos técnicos vamos processar
Em seguida eliminamos a parte final que vamos substituir com os comandos SQL
Guardamos em uma variável o identificador do técnico a processar
Executamos os comandos SQL que levam em consideração o ano de inicio e o ano final
E depois atribuímos os valores ao array de intervenções no elemento X
Quando o método se executa:
aqui passamos o código SQL
temos 7 técnicos
dimensionamos o array das intervenções
Logo para cada valor do array, vamos fazer um SELECT COUNT
é guardado em uma variável $Result
que atribuirá valores ao array
e se escolhemos qualquer das opções, ainda teremos o mesmo resultado.
Outra forma de programar, especialmente esta primeira parte, seria escrever desta forma:
em outras palavras, escrevemos a petição em uma variável Texto