Tag Archive: Concorrência


Foco!

Foco!

O Modelo Relacional é hoje o principal modelo de dados para aplicações comerciais de processamento de dados. Ele conquistou sua posição de destaque devido à sua simplicidade, que facilita o trabalho do programador, comparando com os modelos de dados anteriores. Este modelo tem como principais conceitos as Relações (tabelas),  Atributos (colunas), Tuplas (linha) e Chaves.
Uma chave em Bases de dados é uma coluna da tabela que permite, para cada linha, identificar essa linha (caso seja a chave primária), ou relacionar com outra tabela no caso da chave estrangeira.
O foco deste post está no processo de obtenção da chave primária de uma tupla para posterior utilização. Os métodos a serem apresentados garantem que o programador tenha acesso à chave da tupla  recém criada, evitando deste modo outros métodos que, de forma errônea, parecem ser a solução deste problema.
  • Stored Procedure e C#
Criação do Procedimento SQL (MS SQL Server):
CREATE PROCEDURE dbo.CadastrarPassageiro
(
@nome nvarchar(50),
/*variavel que armazena a primary key gerada*/
@pk int output
)
AS
INSERT INTO tabPassageiro(nome)
VALUES (@nome)
/*Funcao para retornar a primary key gerada*/
set @pk = SCOPE_IDENTITY()
RETURN
Instruções em C# usando o procedimento SQL:
//Variável para armazenar chave primaria do passageiro
int chavePassageiro = 0;
SqlCommand comando = new SqlCommand();
comando.CommandType = CommandType.StoredProcedure;
comando.CommandText = “[CadastrarPassageiro]”;
comando.Parameters.AddWithValue(“@nome”, passageiroTxt.Text);
//Obter a chave primaria
comando.Parameters.Add(“@pk”, SqlDbType.Int, 0, “idPassageiro”);
comando.Parameters[“@pk”].Direction = ParameterDirection.Output;
comando.Connection = con.con();
comando.ExecuteNonQuery();
//Atribuicao do valor da chave primaria devolvida pelo procedimento
chavePassageiro = (int)comando.Parameters[“@pk”].Value;

Pois é, mais uma dor de cabeça para o nosso querido amigo Bill Gates e seu staff. Em crescimento galopante surge a google com mais uma mostra da sua intenção de se fazer presente nas mais várias áreas das tecnologias de informação e comunicação. Trata-se do seu navegador web Chrome disponível para download na sua versão beta pública para windows.

Deste modo, dei uma pausa no Firefox e estou a explorá-lo ao máximo, e digo desde já que tenho observado um bom desempenho deste aplicativo, o que já era de esperar. 😉

Utilizando código da interface do Firefox e o mecanismo de renderização Webkit, criado pela equipe do KDE e desenvolvido pela Apple, o Google Chrome contém diversas inovações tecnológicas.

Uma das novidades mais perceptíveis é a velocidade de renderização de páginas — especialmente aquelas tradicionalmente pesadas, cheias de código Javascript — um resultado do uso do veloz Webkit e do compilador Javascript JIT V8. Além disso, a arquitetura interna do navegador é uma novidade na área: cada aba utiliza não uma thread, mas um processo independente, que fica isolado de todos os outros do navegador e do sistema operacional. Com isso, caso algum aplicativo web rodando na aba saia do controle, é possível matar somente o processo da aba, minimizando as conseqüências do código defeituoso da página.

Como sempre podemos esperar do Google, o navegador traz mais do que simples mudanças tecnológicas, e tem a pretensão de mudar a forma como navegamos — inclusive incentivando a separação das abas em janelas, para uso de aplicativos web em janelas independentes.

Somente Windows

Infelizmente para usuários Linux e Mac OS, a versão do Chrome liberada hoje só funciona em sistemas Windows, embora a equipe de desenvolvimento planeje também versões para Linux e Mac OS.

Fonte: Linux Digital