Pesquisa

Pesquisa personalizada

quarta-feira, 13 de maio de 2015

Procedure para não inserir data menor que a data de hoje

firebird

Segue dois exemplos de procedures em firebird para evitar que seja inserido um registro na aplicação,  com data menor que a data de hoje. A diferença dos exemplos está no tipo de retorno:

Exemplo 1:

SET TERM ^;
CREATE PROCEDURE data (dat  date)
RETURNS  (dt varchar(20))
AS
    BEGIN
IF(:dat < current_date) THEN
dt= ‘data invalida’;
    ELSE
dt= ‘data valida’;
          SUSPEND;
      END ^
SET TERM; ^

Exemplo 2:

SET TERM ^;
CREATE PROCEDURE dataMaior (data date)
RETURNS (vf char(1))
AS
   BEGIN
IF (:data < current_date) THEN
   vf = 'V';
ELSE
          vf = 'F';
     SUSPEND;
   END^

SET TERM; ^

Separando strings com JavaScript

Em JavaScript temos uma função semelhante ao Explode do PHP que usa delimitadores para separação de string: A função se chama split(),  veja os exemplos:

JavaScriptExemplo 1:

var parametros=”um|dois|tres”;

var quebra=parametros.split(”|“);

alert(quebra[0]);   // mostra apenas a palavra"um"
alert(quebra[1]);  // mostra apenas a palavra "dois"
alert(quebra[2]);  // mostra apenas a palavra "tres"

Neste caso o delimitador é o pipe(|)

Exemplo 2:

var frase=”Quebrando a frase em javascript”;

var quebrando_frase=frase.split(" ");

alert(quebrando_frase[0]); // mostra apenas a palavra "Quebrando"
alert(quebrando_frase[1]); // mostra apenas a palavra "a"
alert(quebrando_frase[2]); // mostra apenas a palavra "frase"
alert(quebrando_frase[3]); // mostra apenas a palavra "em"
alert(quebrando_frase[4]); // mostra apenas a palavra "javascript"

Neste caso o delimitador é o espaço(" ")

segunda-feira, 11 de fevereiro de 2013

PHP Mail



php mail
PHP possui várias bibliotecas e funções, uma das funções que  considero muito importante é a função para enviar e-mail, a função mail( ).

Para funcionar precisa de alguns parâmetros: o destinatário, o assunto e o corpo da mensagem.

mail($para, $assunto, $mensagem); 

A função mail ainda pode receber um quarto parâmetro que  permite incluir mais de um destinatário, enviar mensagem com html e anexos e outros.

No exemplo abaixo foi adicionado o remetente e o responder para:

mail("teste@meusite.com.br", "Assunto da mensagem", $mensagem, 
     "From: webmaster@".$_SERVER['SERVER_NAME']."\r\n" 
    ."Reply-To: webmaster@".$_SERVER['SERVER_NAME']."\r\n"); 

O exemplo a seguir mostra a mensagem em formato html e o envio para mais de um destinatário:

/* Destinatários */ 
$para  = 'Juca ' . ', ' ; // preste atenção na vírgula 
$para .= 'José '; 

/* assunto */ 
$assunto = "Lembrete dos aniversariantes de Fevereiro"; 

/* corpo da mensagem */ 
$mensagem= ' 
<html> 
<head><title>Lembretes dos aniversariantes do mês de Fevereiro</title
<body> 
<p>Aqui estão os aniversariantes do mês de Fevereiro !!!</p> 
<table> 
<tr><th>Nome</th><th>Dia</th><th>Mês</th><th>Ano</th></tr> 
<tr><td>Mateus</td><td>3</td><td>Agosto</td><td>1970</td></tr> 
<tr><td>Fábio</td><td>17</td><td>Agosto</td><td>1973</td></tr> 
</table> 
</body> 
</html> 
'; 

/* Lembre-se... para mandar mensagens em formato HTML 
você precisa definir as duas linhas abaixo  */

$cabecalho  = "MIME-Version: 1.0\r\n"; 
$cabecalho .= "Content-type: text/html; charset=iso-8859-1\r\n"; 


/* Valores-extra do cabeçalho */ 
$cabecalho .= "From: Lembretes \r\n"; 


$cabecalho .= "Cc: administrador@aniversario.com.br\r\n";
$cabecalho .= "Bcc: verifica@aniversario.com.br\r\n"; 


/* Mande a mensagem */ 
mail($para, $assunto, $mensagem, $cabecalho); 

Se ocorrer problema no servidor SMTP você pode verificar da seguinte maneira a aceitação da requisição por parte do servidor:

/* Associe à variável $mail a função mail() */ 
$mail = mail($para, $assunto, $mensagem, $cabecalho); 
if ($mail==1) { 
  // o servidor recebeu a requisição corretamente  
  header("location:ok.php"); 
} else { 
  // Erro !!! 
  header("location:erro.php"); 




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())