Call us! 512-349-0334 or (877) INDUSOFT

Como Criar no InduSoft Web Studio uma Consulta ao Banco de Dados

O seu departamento de engenharia ou de TI precisa ter acesso direto ao banco de dados ou talvez criar uma ad hoc database query (consulta específica a um banco de dados) dentro de uma aplicação?

Para criar uma consulta a banco de dados no InduSoft Web Studio, você terá que utilizar a função DBExecute() e criar uma conexão ao banco de dados dentro das tarefas do projeto. As seguintes figuras e descrições explicam como fazer essa conexão. 

Configurando a conexão com o banco de dados

A conexão com o banco de dados é bastante simples. Basta clicar com o botão direito do mouse em Database/ERP e adicionar uma nova conexão. Em seguida, navegue pelo banco de dados utilizando o driver necessário, coloque suas credenciais e pronto. As figuras de 1 à 4 mostram conexões com um banco de dados Microsoft Access e SQL Server, respectivamente.

Utilizando a função DBExecute e a aplicação de exemplo

A função DBExecute() possui a seguinte estrutura:

iReturnValueTag = DBExecute(strDBConn, strSQL, optStrTags, optNumMaxRows, optStrErrorTag)

Onde:

strDBConn

O nome da conexão com o banco de dados. Conexões são configuradas na pasta Database/ERP dentro de Project Explorer.

strSQL

Uma completa e sintaticamente correta instrução SQL.

Nota: Em SQL, chaves ({}) são tipicamente utilizadas para anexar uma expressão que precisa ser avaliada antes que a instrução SQL for executada. Por ezemplo:

SELECT * INTO inmates FROM OPENROWSET (‘MSDASQL’,’Driver={Microsoft Text Driver (*.txt; *.csv)};DEFAULTDIR=C:\;Extensions=CSV;’,’SELECT * FROM flat.csv’)

No InduSoft Web Studio, porém, as chaves são utilizadas para referenciar as tags de um projeto no campo texto que não são normalmente avaliadas (por exemplo, na legenda do botão objeto). Se você passar uma instrução SQL que inclui tal expressão para DBExecute, o projeto tentará avaliar a expressão como uma tag e a função trará erro.

Para passar a instrução SQL para o projeto avaliar a expressão corretamente, crie uma nova tag do tipo string que contém o texto da expressão e referencie a tag na instrução SQL. Por exemplo:

AuxTag = “{Microsoft Text Driver (*.txt; *.csv)}

DBExecute ( “inmates”, “SELECT * INTO inmates FROM OPENROWSET (‘MSDASQL’,’Driver={AuxTag};DEFAULTDIR=C:\;Extensions=CSV;’,’SELECT * FROM flat.csv’)”)

optStrTags

A lista delimitada por vírgulas dos nomes das tags de array em seu projeto para que as colunas de um resultado SQL SELECT sejam mapeados. Os valores do banco de dados serão copiados para essas tags tipo array, com a primeira linha do conjunto de resultados que está sendo copiada para o array index 0. Tenha certeza que os arrays são grandes o suficiente para receber todas as linhas do conjunto de resultado.

Este parâmetro é requerido somente quando a função strSQL contém uma instrução SQL SELECT. Para todos os tipos de instruções, este parâmetro é ignorado e pode ser omitido. Porém, se você precisar manter a sintaxe da função para continuar com o optStrErrorTag, então coloque o parâmetro vázio (“”).

optNumMaxRows

O número máximo de linhas para ser copiado de um conjunto de resultado SQL SELECT. Na maioria dos casos, para copiar todas as linhas é necessário especificar um número maior do que o esperado número de linhas no conjunto de resultado.

Este parâmetro é requerido somente quando o strSQL contém uma instrução SQL SELECT. Para todos os outros tipos de instruções, este parâmetro é ignorado e pode ser omitido. Porém, se você precisar manter a sintaxe da função para continuar com o optStrErrorTag, então coloque nesse parâmetro o valor 0.

optStrErrorTag

O nome da tag tipo string que receberá as mensagens de erro, se erros ocorrerem durante o runtime.

Nota: o nome da tag precisa estar em aspas, como mostrado no diagram de sintaxe, ou o projeto tentará obter o valor da tag nomeada.

Este parâmetro é opcional.

Returned value

Esta função retorna o número total de linhas afetadas pela instrução SQL. Se um erro ocorrer, ele retornará um número negativo.

Por favor observe que este valor é retonado pela própria função. No caso de uma instrução SQL SELECT, os valores do banco de dados são copiados para as tags tipo array e especificados pelo optStrTags.

Para maiores informações sobre esta função leia o manual de ajuda localizado em Contents >> Appendix: Built-In Scripting Language >> Database/ERP functions >> DBExecute.

A aplicação de exemplo do InduSoft Web Studio pode ser baixada aqui, e é apresentada e descrita nas figuras de 5 à 9.

Comments are closed.