Pesquisa

Pesquisa personalizada

domingo, 9 de setembro de 2012

Cláusula GROUP BY

    grupos
  • Esta cláusula  serve para agrupar o resultado em subconjuntos que possuem valores correspondentes em uma ou mais colunas.
  • Em cada grupo não há duas linhas com o mesmo valor na coluna.
  • Para as finalidades de agrupamento os valores nulos são considerados equivalentes.
  • Normalmente a cláusula GROUP BY é utilizada junto com expressões de agregação.
  • O nome-da-coluna deve ser uma coluna do escopo corrente da consulta; 
  • Não pode haver nenhuma coluna do bloco de consulta fora do escopo corrente. Por exemplo, se a cláusula GROUP BY estiver na subconsulta, então não poderá fazer referência a colunas da consulta externa.

Sintaxe : GROUP BY nome-da-coluna [ , nome-da-coluna ] *

Exemplo:

-- calcular o TEMPO_VÔO médio agrupado por aeroporto

SELECT AVG (TEMPO_VÔO), AEROPORTO_ORIGEM
   FROM VÔOS
GROUP BY AEROPORTO_ORIGEM

sexta-feira, 29 de junho de 2012

Trigger e Exception

firebird bd
A seguir  um exemplo de Trigger disparando exception no banco de dados Firebird. Neste exemplo a exception deverá ser disparada antes de inserir uma consulta se o médico envolvido não possuir e-mail.

CREATE EXCEPTION emailnulo ‘O médico deve ter e-mail para completar o cadastro da consulta, pois o mesmo precisa ser notificado !’

SET TERM !! ;
CREATE TRIGGER sememail
FOR consulta
BEFORE INSERT
AS
   DECLARE VARIABLE mail  varchar(20);
BEGIN
  SELECT email
    FROM Medico
  WHERE codigo = new.codMed
  INTO :mail;
  if (:mail is null ) then exception emailnulo;
END !!
SET TERM ; !!

Para testar é inserido o registro na tabela consulta, com o código de um médico que mão possui e-mail no seu registro na tabela médico.

INSERT INTO consulta (data, hora, codPac, codMed) VALUES ('2006-11-23', '14:00:00', 6, 4);

segunda-feira, 11 de junho de 2012

Acessando Mysql com VB.Net

Mysql, VB.Net, Connector, Net, Query Browser, Ferramenta, GNU,

Trata do assunto para mostrar como acessar o MySQL via VB.NET usando o provedor específico para o MySQL, sem precisar usar um provedor ODBC. Vou usar o provedor MySQL Connector/NET que você pode baixar do site do MySQL.

Atualmente existem 3 versões estáveis do MySQL disponíveis para download. Neste artigo foi utilizado o MySQL 4.1.

O MySQL Query Browser é uma ferramenta com uma interface gráfica que permite criar, editar tabelas e navegar pelo conteúdo das tabelas fazendo as alterações que você desejar.

O MySQL Connector/NET é um dos provedores com mais recursos para o MySQL, foi escrito em C# , possui código gerenciado, e pode ser portado para qualquer plataforma que suporta o .NET incluindo o Mono . Uma vantagem do MySQL Connector/NET é usar um protocolo nativo MySQL. Ele esta disponível gratuitamente sob os termos da GNU Public License.

Leia Mais em http://www.macoratti.net/net_msql.htm

quarta-feira, 18 de abril de 2012

PostgreSql data de hoje

postgreSql 9
Dicas para selecionar data de hoje e suas partes no PostgreSql:

Selecionar a data de hoje :

SELECT now();

Selecionar partes da data de hoje :

SELECT extract('day' from now()), extract('month' from now()), extract('year' from now())

quarta-feira, 14 de março de 2012

VB .NET - Descarregando arquivos via FTP

FTP, VB.NET, FtpWebRequest , Upload,  Download, WebClient
Na linguagem VB .NET temos suporte a este recurso através da classe FtpWebRequest que implementa um cliente de protocolo FTP.

Para obter uma instância de FtpWebRequest, use o método Create. Você também pode usar a classe WebClient para fazer upload e download de informações de um servidor FTP. Usando qualquer uma dessas abordagens, quando você especificar um recurso de rede que usa o esquema FTP (por exemplo, "ftp://contoso.com") a a classe FtpWebRequest fornece a capacidade de interagir programaticamente com servidores de FTP.

Você deve ter um nome de usuário válido e a senha para o servidor FTP ou o servidor deve permitir logon anônimo.

Você pode especificar as credenciais usadas para conectar ao servidor, definindo a propriedade Credentials ou você pode incluí-los na parte UserInfo da URI passada para o método Create. Se você incluir as informações UserInfo na URI, a propriedade Credentials será definida como uma nova credencial de rede com as informações do nome do usuário e e senha especificados.

Você deve ter acesso aos recursos HTTP (WebPermission) para acessar o recurso FTP de outra forma será lançada uma exceção SecurityException.

Leia Mais: http://www.macoratti.net/12/02/vbn_ftp1.htm

segunda-feira, 12 de março de 2012

Comparar Datas

formulário, alertQuem nunca precisou comparar datas ? E verificar qual é a maior ?

No exemplo em seguida mostramos como comparar se a data do campo dois é maior que a data do campo um. Também está sendo disponibilizada uma função para máscara, ambas em Java Script. Quem nunca precisou comparar datas ?

A função formatar serve para colocar as máscaras nas datas, ela é chamada no evento OnKeyPress dos campos data1 e data2 da seguinte forma:
OnKeyPress="formatar(this, '##/##/####');

A função Compara_Datas é responsável pela validação das datas, esta recebe como parâmetros os campos data1 e data2 do formulário por meio da função valida que testa se o campo data2 está preenchido deve validar a data. A função valida é chamada no evento onSubmit do formulário da seguinte forma: onSubmit="return valida();"

Código Java Script: Não esqueça de colocar as tags:

function formatar(src, mask) {

var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

if (texto.substring(0,1) != saida) {

src.value += texto.substring(0,1);
}

}

function Compara_Datas(data_inicial, data_final){

//Verifica se a data inicial é maior que a data final
str_data_inicial = data_inicial;
str_data_final = data_final;
dia_inicial = data_inicial.substr(0,2);
dia_final = data_final.substr(0,2);
mes_inicial = data_inicial.substr(3,2);
mes_final = data_final.substr(3,2);
ano_inicial = data_inicial.substr(6,4);
ano_final = data_final.substr(6,4);

if(ano_inicial > ano_final){
alert("A data final deve ser maior que a data inicial!");
data_final.focus();
return false
} else {
if(ano_inicial == ano_final){
if(mes_inicial > mes_final){
alert("A data final deve ser maior que a data inicial!");
data_final.focus();
return false
} else {
if(mes_inicial == mes_final){
if(dia_inicial > dia_final){
alert("A data final deve ser maior que a data inicial!");
data_final.focus();
return false
}
}
}
}
}
}


function valida() {

if (frmFiltroProgItens.data2.value != ""){

if(Compara_Datas(frmFiltroProgItens.data1.value, frmFiltroProgItens.data2.value) == false)
{ return false }
}

return true;

}

A seguir tem a imagem do código fonte. Clique para ampliar.

código fonte,  html, javascript

domingo, 4 de março de 2012

Gerador de senha em Delphi

Gerador de Senha, Delphi,  Randônica, Valores , Senhas,  Dicas de Delphi
Gerador de Senha.

Um exemplo para gerar uma senha randônica de 6 caracteres com letras e números.

Procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

const

str='1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ';

max=6;

begin

Edit1.Text:='';

for i:=1 to max do

Edit1.Text:=Edit1.Text+str[random(length(str))+1];

end;

quinta-feira, 1 de março de 2012

Ler e Gravar

phpVamos criar um contador para treinar a leitura e escrita em arquivo.

Primeiramente crie um arquivo chamado contar pode ser no bloco de notas. No meu caso coloquei no diretório C do Windows.

Edite este arquivo e coloque o número 0. (zero)

Abra um editor de código e coloque o seguinte entre tags php:

$contador = fopen('C:\contar.txt','r'); // abrimos o arquivo para leitura
$visitas = fgets($contador); // lemos seu conteúdo
fclose($contador); // fechamos o arquivo
$visitas++; // incrementamos o número de visitas, isto é o número lido no arquivo, por isso tem que ter o zero
$contador = fopen('C:\contar.txt','w'); // abrimos o arquivo para escrita
fwrite($contador,$visitas); // escrevemos o novo valor
fclose($contador); // fechamos o arquivo

echo $visitas; // mostramos o número de visitas no navegador

Agora você pode abrir o arquivo, ele deve conter o mesmo número que está sendo exibido no navegador.

código  fonte

segunda-feira, 27 de fevereiro de 2012

Problema Requisição PHP

php,métodos, GET, POSTProblema: Ao dar OK em uma mensagem de alerta em uma aplicação em PHP, mesmo usando sessão ao invés de retornar para página indicada à aplicação expira.

Solução: Verifique se ao dar OK você está tentando voltar para uma página gerada por uma requisição via método POST. Se for isso você pode buscar alternativa de fluxo para sua aplicação, por exemplo, programe uma nova requisição com o método GET para a página que deve ser aberta em vez de fazer o navegador retornar.

segunda-feira, 6 de fevereiro de 2012

Explode - formatar datas

PHPFunção do php que retorna um array de strings formado a partir do delimitador. Neste exemplo utilizamos esta função para converter o formato da data, sendo:

Formato da entrada: dd/mm/yyyy : 06/02/2012
Formato da saída: yyyy-mm-dd : 2012-02-06

$datacad = $_REQUEST[data1];
$datacad = '06/02/2012';
$date_sep = explode("/",$datacad);

// onde a barra é o delimitador da função que separa
$datacad = $date_sep[2]."-".$date_sep[1]."-".$date_sep[0];

echo $datacad;

Veja este código na imagem abaixo:

código  fonte

quarta-feira, 18 de janeiro de 2012

Senha aleatória em PHP

PHPPara gerar uma senha com letras e números aleatórios em PHP pode se usar o seguinte:

$senha = substr(md5(date("H:i:s")), 1, 6);

echo $senha; //exibir ex: 62a37e

Com este script entre tags php ocorre o seguinte:

-Será gerada uma string MD5 apartir da Hora atual.

-Com a função substr pegamos seis caracteres apartir da posição um da string gerada.

Script PHP,  Gerar Senha

segunda-feira, 2 de janeiro de 2012

Mapeamento com GPS e VB.NET

Programação Vb.Net,   Localização, GPS, Dicas,  Manual, Artigo VB.net,
Este artigo é descrever uma abordagem muito simples de trabalhar com um dispositivo GPS no contexto de um aplicativo Visual Basic 2005.

Este artigo não trata de como funciona o dispositivo de GPS ou tudo o que pode ser adquirida a partir do 0183 NEMA cadeia outputted da maioria dos dispositivos GPS, mas sim, o artigo é destinado para aqueles apenas interessados ​​em obter a posição atual de um GPS e usar esse ponto para fazer algo interessante como mostram onde você está em um mapa.

Leia Mais