Você está aqui: Delphi ::: dbExpress ::: TSQLConnection |
Como criar um objeto da classe TSQLConnection em tempo de execução e efetuar uma conexão com um banco de dadosQuantidade de visualizações: 13155 vezes |
A forma mais comum de se criar uma conexão com um banco de dados usando a arquitetura dbExpress é configurando o componente TSQLConnection em tempo de design, ou seja, fornecendo os valores para as suas propriedades e parâmetros de conexão por meio do editor de propriedades. No entanto, haverá situações nas quais teremos que criar um objeto TSQLConnection em tempo de execução, ou seja, criar o componente, fornecer valores para suas propriedades e efetuar a conexão com o banco de dados durante a execução do programa. Nesta dica eu mostrarei como isso pode ser feito. Analise cuidadosamente o código abaixo (inserido no evento Click de um botão): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var conn: TSQLConnection; begin // vamos criar um novo objeto da classe TSQLConnection conn := TSQLConnection.Create(nil); // vamos definir os parâmetros da conexão...note que // aqui estou usando uma conexão com o MS SQL Server usando // Windows Authentication with conn do begin ConnectionName := 'MSSQLConnection'; DriverName := 'MSSQL'; LibraryName := 'dbxmss.dll'; VendorLib := 'oledb'; GetDriverFunc := 'getSQLDriverMSSQL'; LoginPrompt := False; // parâmetros adicionais da conexão Params.Add('SchemaOverride=sa.dbo'); Params.Add('HostName=NOTEBOOK'); Params.Add('DataBase=estudos'); Params.Add('OS Authentication=True'); // vamos abrir a conexão try begin Open; ShowMessage('Conexão efetuada com sucesso.'); end; except on e : TDBXError do // uses DBXCommon ShowMessage('Não foi possível efetuar a conexão. Erro: ' + e.Message); end; end; end; Veja que o primeiro passo foi declarar uma variável chamada conn do tipo TSQLConnection. Em seguida nós criamos um novo objeto desta classe usando a linha: conn := TSQLConnection.Create(nil); Os passos seguintes foram a definição do nome de conexão, o nome do driver, nome do servidor, nome da base de dados, etc. Usei também o tratamento de exceção para exibir uma mensagem mais descritiva no caso de a conexão não puder ser feita com sucesso. Note que neste exemplo eu demonstro uma conexão em tempo de execução com o MS SQL Server. Este procedimento pode ser aplicado a qualquer um dos bancos de dados suportados pelo dbExpress, bastando alterar os valores das propriedades e parâmetros de conexão. |
Link para compartilhar na Internet ou com seus amigos: |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr()Quantidade de visualizações: 21625 vezes |
Em algumas situações precisamos obter um caractere a partir de sua representação ASCII. Em Delphi isso pode ser feito por meio da função Chr(). Esta função recebe um número inteiro e devolve o caractere correspondente. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var codigo: integer; letra: char; begin codigo := 65; // código ASCII // vamos obter o caractere letra := Chr(codigo); // vamos exibir o resultado ShowMessage('O caractere para o código informado é: ' + letra); end; É importante notar que esta função pode ser usada para imprimir caracteres de controle, tais como tab, enter, entre outros. Assim, Chr(9) retorna o caractere de tab. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Delphi ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DelphiQuantidade de visualizações: 1207 vezes |
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Delphi completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // função que recebe dois pontos na terra e retorna a distância // entre eles em quilômetros function CalcularDistancia(lat1: double; lat2: double; lon1: double; lon2: double): double; var raio_terra, dlon, dlat, a, c: double; begin raio_terra := 6378.137; // raio da terra em quilômetros // o primeiro passo é converter as latitudes e longitudes // para radianos // não esqueça de adicionar a unit Math lon1 := DegToRad(lon1); lon2 := DegToRad(lon2); lat1 := DegToRad(lat1); lat2 := DegToRad(lat2); // agora aplicamos a Fórmula de Haversine dlon := lon2 - lon1; dlat := lat2 - lat1; a := Power(Sin(dlat / 2), 2) + Cos(lat1) * Cos(lat2) * Power(Sin(dlon / 2),2); c := 2 * ArcSin(Sqrt(a)); // e retornamos a distância Result := (c * raio_terra); end; procedure TForm5.Button1Click(Sender: TObject); var lat1, lon1, lat2, lon2, distancia: double; begin // obtém as coordenadas vindas dos campos de texto lat1 := StrToFloat(txtPrimeiraLatitude.Text); lon1 := StrToFloat(txtPrimeiraLongitude.Text); lat2 := StrToFloat(txtSegundaLatitude.Text); lon2 := StrToFloat(txtSegundaLongitude.Text); // vamos calcular a distância entre os dois pontos em Kms distancia := CalcularDistancia(lat1, lat2, lon1, lon2); // e mostramos o resultado txtDistancia.Text := FormatFloat('#.0', distancia) + ' kms'; end; Ao executar este código Delphi nós teremos o seguinte resultado: Informe a primeira latitude: -16,674551 Informe a primeira longitude: -49,303598 Informe a segunda latitude: -15,579321 Informe a segunda longitude: -56,10009 A distância entre os dois pontos é: 736,9 kms Aqui as informações sobre as latitudes e longitudes vieram de campos de texto TEdit, e o código foi disparado a partir do clique de um botão TButton. Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuiabá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Delphi ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma substring está contida no final de uma string usando a função AnsiEndsStr() do DelphiQuantidade de visualizações: 11284 vezes |
Em algumas situações precisamos verificar se uma substring está contida no final de uma string, ou seja, se a string termina com um determinado sufixo. Em Delphi isso pode ser feito com o auxílio da função AnsiEndsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no final da string. Do contrário o retorno será false. Veja o exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var frase: string; begin frase := 'Gosto muito de Delphi e Java'; // vamos verificar se a string termina com "Java" if AnsiEndsStr('Java', frase) then ShowMessage('A frase termina com a substring indicada') else ShowMessage('A frase NÃO termina com a substring indicada') end; Não se esqueça de adicionar a unit StrUtils no uses do seu formulário. Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de combate a incêndio O fogo pode ser classificado em classes em função do tipo de material sujeito a combustão, tal que, para cada classe de fogo, existe uma categoria de extintor adequada para dissipar focos de incêndio. Sobre as categorias de extintores, são feitas as afirmações a seguir. Analise-as e assinale V para verdadeiro e F para falso: ( ) O extintor de água pressurizada é recomendado para extinguir o fogo por resfriamento de materiais de fácil combustão, como tecidos, madeira, papel e fibras. ( ) O extintor de espuma extingue o fogo por abafamento de equipamentos elétricos, como fios, quadro de distribuição, motores e transformadores. ( ) O extintor de pó químico emprega o abafamento para extinção do fogo, sendo recomendado para equipamentos elétricos energizados e pirofóricos. Assinale a alternativa que apresenta a sequência correta: A) V - F - F. B) V - F - V. C) F - V - V. D) F - V - F. E) V - V - F. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Processos e técnicas construtivas de instalações elétricas e hidráulicas As instalações de esgoto sanitário e de águas pluviais têm a função de coletar, conduzir e descartar os despejos de aparelhos sanitários e a água proveniente da chuva. Assinale V (verdadeiro) ou F (falso) nas afirmações a seguir, referentes às instalações de esgoto sanitário e de águas pluviais. ( ) A ventilação das instalações de esgoto sanitário é realizada por meio de ramais, tubos e colunas de ventilação, tendo por objetivo evitar o acúmulo de odores no interior das tubulações. ( ) As águas pluviais e o esgoto sanitário são descartados na mesma rede coletora pública, sendo, em seguida, encaminhados para disposição apropriada, de acordo com a lei. ( ) As calhas de captação das águas pluviais permanecem expostas às ações ambientais, devendo ser capazes de resistir, por exemplo, às tensões decorrentes de variações dimensionais. ( ) Os coletores prediais, em instalações de esgoto sanitário, devem ser executados com curvas pouco acentuadas, com caixas de inspeção a cada mudança de direção. Assinale a alternativa que apresenta a ordem correta, de cima para baixo. A) V - F - V - V. B) F - F - V - F. C) V - V - F - V. D) F - V - V - F. E) V - F - F - V. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética profissional, social, política Para Aristóteles, a base da ética é a justiça: "Essa forma de justiça (geral) é, portanto, uma virtude completa e governa nossas relações com os outros; por isso, muitas vezes, a justiça é considerada a virtude mais perfeita e nem a estrela vespertina, nem a estrela matutina é mais admirada que ela. Daí o provérbio: a justiça encerra toda a virtude" (ARISTÓTELES apud AUTOR, 1987, p. 93). A respeito do exposto, assinale a alternativa correta: A) A justiça é o que torna a ética tanto individual quanto social. B) A ética não depende das relações sociais para existir. C) A justiça deve ser ajustada e deliberada pela ética. D) A justiça se realiza na moral, e não nas leis do Estado. E) A justiça fundamenta os preceitos morais de convivência em sociedade. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço O perfil de aço apresenta diversas características e uma infinidade de composições que podem permanecer resistentes por meio da conexão de diferentes peças mediante conexões. A esse respeito, assinale a alternativa que indica corretamente o elemento de conexão de perfis de aço que oferece a possibilidade de união das peças de uma moldura de aço como se fosse um todo monolítico. A) Rebite. B) Pinos de alta resistência. C) Pinos de aço-carbono. D) Pinos de controle de tensão. E) Solda. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Sistema domiciliar de abastecimento de água Instalações hidrossanitárias compreendem subsistemas de uma edificação para a correta captação, transporte e armazenagem de fluidos. Para o perfeito funcionamento dessas instalações, conhecer seus principais componentes é fundamental. Dessa forma, conforme a NBR 5626:2020, qual das opções a seguir está correta? A) Cavalete: conjunto padronizado de tubulações e conexões destinado à instalação do hidrômetro, situado no ramal predial. B) Extravasor: é caracterizado pela tubulação derivada do barrilete e destinado a alimentar os reservatórios. C) Alimentador predial: tubulação que se origina no reservatório e do qual derivam as colunas de distribuição se o tipo de abastecimento for indireto. D) Fonte de abastecimento: reservatório localizado na parte mais elevada de uma residência, destinada ao seu abastecimento direto. E) Instalação elevatória: sistema destinado a fornecer água para o sistema. Pode ser a rede pública da concessionária ou qualquer sistema particular de fornecimento de água. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
JavaScript - JavaScript Avançado - Como escrever uma função JavaScript que aceita um número variável de argumentos |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |