Um Exemplo bem fácil e prático de como inserir dados em uma tabela no Microsoft Acces utilizando VBA - Macros do próprio Acces
A tabela que utilizaremos como exemplo terá somente dois campos:
create table cidade(
cd_cidd integer,
nm_cidd varchar(15)
)
Será inserido na tabela dados conforme exemplo abaixo:
cd_cidd nm_cidd
1 cidade1
2 cidade2
3 cidade3
4 cidade4
5 cidade5
.... e assim sucessivamente até que o loop chegue ao fim, que no nosso caso é de 1 milhão
No VBA utilize a procedure a seguir.
Sub inserir_dados()
Dim dbs As Database
Set dbs = OpenDatabase("Banco de dados1.accdb")
Dim contador As Double
Dim cidade As String
contador = 1
cidade = "cidade"
Do While (contador < 1000000)
dbs.Execute "insert into cidade(cd_cidd,nm_cidd) "
&"values(" & contador & ",'" & cidade & contador & "')"
contador = contador + 1
Loop
dbs.Close
End Sub
quarta-feira, 25 de novembro de 2015
segunda-feira, 23 de fevereiro de 2015
Relatório Delphi7 Abrindo Sempre o Mesmo Resultado da Pesquisa Anterior
Problema com RaveRaports no Delphi?
Então tá aqui ma dica simples que faz muita gente perder a cabeça:
Descrição do Problema
Ao gerar um relatório usando no Delphi7 o valor apresentado sempre é igual ao ultimo resultado buscado, mesmo sem ocorrer nenhum erro e mesmo com a consulta retornando valor correto no DBGrid do formulário...
Muitos Tópicos afirmam que o problema é no componente do DELPHI, e manda atualizar, porém nada vai adiantar, porque o problema não é no componente, muito menos na consulta.
SOLUÇÃO
Para resolver isso precisamos apenas corrigir um pequeno detalhe: o evento onClose do formulário que consta a consulta.
Evento OnClose do formulário digite: Action:=cafree;
Com isso o formulário é destruído o sistema e cada vez que você abrir, é como se fosse a primeira vez
OBS: não esqueça que com isso, cada vez que for preciso exibir o formulário será necessário criar ele novamente
ex: Application.CreateForm(TfmFormXX, fmFormXX);
Espero que alguém seja ajudado
Problema com QuickReportno Delphi?
Então tá aqui ma dica simples que faz muita gente perder a cabeça:
Descrição do Problema
Ao gerar um relatório usando no Delphi7 o valor apresentado sempre é igual ao ultimo resultado buscado, mesmo sem ocorrer nenhum erro e mesmo com a consulta retornando valor correto no DBGrid do formulário...
Muitos Tópicos afirmam que o problema é no componente do DELPHI, e manda atualizar, porém nada vai adiantar, porque o problema não é no componente, muito menos na consulta.
SOLUÇÃO
Para resolver isso precisamos apenas corrigir um pequeno detalhe: o evento onClose do formulário que consta a consulta.
Evento OnClose do formulário digite: Action:=cafree;
Com isso o formulário é destruído o sistema e cada vez que você abrir, é como se fosse a primeira vez
OBS: não esqueça que com isso, cada vez que for preciso exibir o formulário será necessário criar ele novamente
ex: Application.CreateForm(TfmFormXX, fmFormXX);
Espero que alguém seja ajudado
segunda-feira, 25 de março de 2013
Delphi: Executando Componentes de Banco de Dados
Como executar uma Query no Delphi
Alguns programadores iniciantes ao inserir um Query no Data Module da Aplicação simplesmente altera o Campo SQL para executar a operação desejada, porém a forma mais eficaz e executá-la no corpo do programa, assim como as stored procedures
Execução de Query no Delphi
qry.Close;
lQuery := TQuery.Create(nil);
try lQuery.SQL.Clear;
lQuery.SQL.Add('exec fn_ResolucaoPessoa: TipoPesquisa: NomePessoa: CPF: RG: DataNascimento: NomeMae');
lQuery.Parameters.ParamByName( 'TipoPesquisa').Value := rgOpcoes.ItemIndex;
lQuery.Parameters.ParamByName( 'NomePessoa').Value := EditNome.Text;
lQuery.Parameters.ParamByName( 'CPF').Value := EditCPF.Text;
lQuery.Parameters.ParamByName( 'RG').Value := EditRG.Text;
lQuery.Parameters.ParamByName( 'DataNascimento').Value := EditDataNasc.Date;
lQuery.Parameters.ParamByName( 'NomeMae').Value := EditNomeMae.Text;
lQuery.ExecSQL;finally
lQuery.Free;end;
Alguns programadores iniciantes ao inserir um Query no Data Module da Aplicação simplesmente altera o Campo SQL para executar a operação desejada, porém a forma mais eficaz e executá-la no corpo do programa, assim como as stored procedures
Execução de Query no Delphi
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(passe aqui o sql da lista);
qry.ExecSQL;
Execução de Stored Procedures no Delphi
CREATE PROCEDURE ATUALIZA_PRECO_VND_PRD (
id_produto integer,
margem_lucro decimal(15,4))
as
begin
update tabprodutos
set preco_venda = preco_custo + (preco_custo * :margem_lucro)/100
where id_produto = :id_produto;
suspend;
end^
SET TERM ; ^
Execução de Stored Procedures no Delphi
CREATE PROCEDURE ATUALIZA_PRECO_VND_PRD (
id_produto integer,
margem_lucro decimal(15,4))
as
begin
update tabprodutos
set preco_venda = preco_custo + (preco_custo * :margem_lucro)/100
where id_produto = :id_produto;
suspend;
end^
SET TERM ; ^
with qrylocal do
begin
close;
sql.clear;
sql.add(' EXECUTE PROCEDURE ATUALIZA_PRECO_VND_PRD (:id_produto,:margem_lucro decimal)');
Params[0].asinteger := inttostr(dbe_produto.text);
Params[1].ascurrency := inttofloat(dbe_margemLucro.text);
try
execsql;
dm.connection.commit;
except
dm.connection.rollback;
end;
end;
begin
close;
sql.clear;
sql.add(' EXECUTE PROCEDURE ATUALIZA_PRECO_VND_PRD (:id_produto,:margem_lucro decimal)');
Params[0].asinteger := inttostr(dbe_produto.text);
Params[1].ascurrency := inttofloat(dbe_margemLucro.text);
try
execsql;
dm.connection.commit;
except
dm.connection.rollback;
end;
end;
lQuery := TQuery.Create(nil);
try lQuery.SQL.Clear;
lQuery.SQL.Add('exec fn_ResolucaoPessoa: TipoPesquisa: NomePessoa: CPF: RG: DataNascimento: NomeMae');
lQuery.Parameters.ParamByName(
lQuery.Parameters.ParamByName(
lQuery.Parameters.ParamByName(
lQuery.Parameters.ParamByName(
lQuery.Parameters.ParamByName(
lQuery.Parameters.ParamByName(
lQuery.ExecSQL;finally
lQuery.Free;end;
MySQL: como auto incrementar?
Essa é a mais fácil de todas.
veja o exemplo...
create table venda (
numero integer not null auto_increment,
data date,
primary key(numero)
);
Acrescente a palavra auto_increment após o nome do atributo, mas cuidado com a ignorância, o auto incremento não funcionará em atributos CHAR,VARCHAR,TEXT...
veja o exemplo...
create table venda (
numero integer not null auto_increment,
data date,
primary key(numero)
);
MySQL: Como criar e executar Stored Procedures
Stored procedures são procedimentos armazenados, ou seja inserts, updates, deletes ou select que você cria e que armazena para poder executar com parâmetros ou não
Criando Storeds Procedures no MySQL
usaremos como exemplo a tabela venda abaixo
create table venda(
codVenda int,
data date,
total float,
primary key(codvenda)
)
DELIMITER $$
CREATE procedure InserirVenda(cdv int,dt date,tot float)
BEGIN
insert into itensvenda(codVenda,data,total)
values(cdv,dt,tot);
END$$
DELIMITER ;
EXECUTANDO
call InserirVenda(1,2013-03-03,10)
Fácil! não?
Criando Storeds Procedures no MySQL
usaremos como exemplo a tabela venda abaixo
create table venda(
codVenda int,
data date,
total float,
primary key(codvenda)
)
DELIMITER $$
CREATE procedure InserirVenda(cdv int,dt date,tot float)
BEGIN
insert into itensvenda(codVenda,data,total)
values(cdv,dt,tot);
END$$
DELIMITER ;
EXECUTANDO
call InserirVenda(1,2013-03-03,10)
Fácil! não?
stored procedure é muito fácil, vc só precisa informar onde ela começa e termina com "DELIMITER $$" dá um nome a ela e entre o begin e o end colocar o que desejar, inserir, deletar, atualizar...
MySQL: Como Criar Triggers
Criar uma trigger é muito parecido em qualquer que seja o banco de dados que você esteja utilizando, SQL Server, Oracle, Firebird, MySQL... O importante é que você saiba para que serve e quando utilizar, sabendo isso vem a segunda pergunta: como criar?
O que é uma Trigger
Traduzindo para o português, trigger significa gatilho e se relacionam direto com as tabelas através de comandos como UPDATE, INSERTE e DELETE
Sintaxe
O que é uma Trigger
Traduzindo para o português, trigger significa gatilho e se relacionam direto com as tabelas através de comandos como UPDATE, INSERTE e DELETE
Sintaxe
CREATE TRIGGER "nome momento evento"ON tabelaFOR EACH ROWBEGIN/*corpo do código*/END
Onde e usar uma Trigger
EX: Para as tabelas vendas(Data, ValorTotal) e Itens_Venda(ValorUnitario, QuantidadeItens) queremos que cada vez que um item for inserido na tabela Itens_Venda o ValorTotal da tabela Venda incremente o mesmo valor então..
Criamos uma trigger IncrementaValorVenda para disparar sempre que um item for adicionado na tabela Itens_venda.
create table venda(
codVenda integer
data date,
ValorTotal integer,
primary key(codVenda)
)
create table ItensVenda(
ValorUnitario integer,
QuantidadeItens Interger,
cod_Venda Integer,
foreign key (cod_venda) references venda(codVenda)
)
DELIMITER $$
CREATE TRIGGER Tgr_Itens_Venda_Insert AFTER INSERT
ON Itens_Venda
FOR EACH ROW
BEGIN
UPDATE venda SET ValorTotal = ValorTotal + NEW.ValorUnitario
WHERE Cod_venda = NEW.Codvenda;
END$$
CREATE TRIGGER Tgr_ItensVenda_Delete AFTER DELETE
ON Itens_Venda
FOR EACH ROW
BEGIN
UPDATE venda SET ValorTotal = ValorTotal - OLD.ValorUnitario
WHERE Cod_venda = OLD.Codvenda;
END$$
DELIMITER ;
Note que foi criado dois gatilhos, o primeiro Tgr_Itens_Venda_Insert será disparado sempre que for inserido um novo item em Itens_venda fazendo com que ela some no total da tabela venda e o segundo Tgr_ItensVenda_Delete será disparado cada vez que for deletado um item da tabela Itens_venda. você também poderia criar um para cada vez que for atualizada a tabela itens_venda
AFTER e BEFORE(ANTES E DEPOIS)
No exemplo acima o gatilho será disparado depois que for feia uma inserção na tabela itens_Venda porém se usasse o comando BEFORE, o gatilho seria disparado antes da inserção.
Usamos BEFORE normalmente para fazer consultas complexas na tabela antes de inserir algo nela, ex: antes de inserir vendas quero verificar a data da tabela.
Espero ter ajudado, qualquer dúvida comentem....
sexta-feira, 15 de março de 2013
Tratamento de erros no Delphi (Try, Except, Finally, Raise, Exception e ApplicationEvents)
É impossível criar um software e nunca ocorrer um erro durante a execução do mesmo, as vezes por algum defeito na rede, ou por o usuário não seguir corretamente a maneira correta de uso do software.
Como, não podemos impedir que os erro ocorram em nossas aplicações, devemos no mínimo tratar e personalizar as mensagens de erro para que o usuário saiba o motivo do erro e assim agir da forma correta para corrigir.
Exceções em Delphi
São utilizadas para tratamento de erros, e ao ser criada todos os procedimentos que ainda estão pendentes são cancelados, e mostra uma mensagem de erro que você mesmo poderá configurar para ser exibida de acordo com a sua vontade
Um bloco protegido é um grupo de comandos com uma seção de tratamento de exceções.
Try
Try
Principais Exceções
A := StrToFloat(EdtA.Text); B := StrToFloat(EdtB.Text);
ShowMessage(Format("%f / %f = %f", [A, B, A + B]));
ShowMessage(Format("%f / %f = %f", [A, B, A + B]));
Except
ShowMessage("Números inválidos.");
end;
As vezes você pode precisar especificar quais exceções quer tratar, como mostrado abaixo:
Try
Soma := StrToFloat(EdtSoma.Text);
NumAlunos := StrToInt(EdtNum.Text);
ShowMessage(Format("Média igual a %f.", [Soma / NumAlunos]));
except
on EConvertError do
ShowMessage("Valor inválido para soma ou número de alunos.");
on EZeroDivide do
ShowMessage("O número de alunos tem que ser maior que zero.");
else
ShowMessage("Erro na operação, verifique os valores digitados.");
end;
CLIQUE NA IMAGEM PARA AMPLIAR
Blocos de finalização
são executados sempre, haja ou não uma exceção. Geralmente os blocos de finalização são usados para liberar recursos.
FrmSobre := TFrmSobre.Create(Application);
Try
FrmSobre.Img.LoadFromFile("Delphi.bmp");
FrmSobre.ShowModal;
finally
FrmSobre.Release;
end;
Você pode usar blocos de proteção e finalização aninhados
Você pode usar blocos de proteção e finalização aninhados
FrmOptions := TFrmOptions.Create(Application);
Try
FrmOptions.ShowModal;
Try
Tbl.Edit;
TblValor.AsString := EdtValor.Text;
except
on EDBEngineError do
ShowMessage("Alteração não permitida.");
on EConvertError do
ShowMessage("Valor inválido.");
end;
finally
FrmOptions.Release;
end;
Geração de Exceções
provocando uma exceção utilizando a cláusula raise.
raise EDatabaseError.Create("Erro ao alterar registro.");
Também é possível criar seus próprios tipos de exceções.
Também é possível criar seus próprios tipos de exceções.
type
EInvalidUser = class (Exception);
raise EInvalidUser.Create("Você não tem acesso a essa operação.");
Se você quiser que uma exceção continue ativa, mesmo depois de tratada, use a cláusula raise dentro do bloco de tratamento da exceção. Geralmente isso é feito com exceções aninhadas.
Se você quiser que uma exceção continue ativa, mesmo depois de tratada, use a cláusula raise dentro do bloco de tratamento da exceção. Geralmente isso é feito com exceções aninhadas.
try
Tbl.Edit;
TblContador.Value := TblContador.Value + 1;
Tbl.Post;
except
ShowMessage("Erro ao alterar contador.");
raise;
end;
Erros de Bancos de Dados
A exceção EDBEngineError permite a identificação de erros de bancos de dados gerados pela BDE.
try
TblCli.Post;
except
on E: EDBEngineError do
if E.Errors[0].ErrorCode = DBIERR_KEYVIOL then
ShowMessage("Cliente já cadastrado.");
end;
Você também pode usar os eventos de erro do componente Table, sem precisar de blocos de tratamento.
Note que a variável E, que vai identificar o erro, só precisa ser declarada no bloco de tratamento da exceção. No help você pode consultar outras propriedades de EDBEngineError que podem ser importantes.
Você também pode usar os eventos de erro do componente Table, sem precisar de blocos de tratamento.
procedure TFrmCadCli.TblCliPostError(DataSet: TDataSet; E: EDatabaseError; Action: TDataAction);
var
begin
if(E is EDBEngineError) then
with EDBEngineError(E) do
case Errors[0].ErrorCode of
DBIERR_KEYVIOL: ShowMessage("Cliente já cadastrado.");
DBIERR_REQDERR: ShowMessage("Campo obrigatório não preenchido.");
end
else
ShowMessage("Erro no banco de dados:" + #13#13 + E.Message);
Action := daAbort;
end;
Alguns códigos de erro da BDE estão listados abaixo. Todas as constantes e funções relacionadas à API da BDE no Delphi 3 estão na Unit BDE, que deve ser adicionada à cláusula uses. No BDE API Help você pode encontrar referência sobre as funções nativas da BDE, como também alguns exemplos em Delphi.
CLIQUE NA IMAGEM PARA AMPLIAR
Se você quiser mais informações a respeito do erro pode usar o procedimento DBIGetErrorContext, como na função mostrada abaixo que retorna determinadas informações sobre o erro.
function GetErrorInfo(Context: SmallInt):string;
begin
SetLength(Result, DBIMAXMSGLEN + 1);
SetLength(Result, DBIMAXMSGLEN + 1);
try
DbiGetErrorContext(Context, PChar(Result));
SetLength(Result, StrLen(PChar(Result)));
except
Result := "";
end;
end;
No evento OnEditError, usado no exemplo abaixo, se ocorrer um erro ao tentar alterar um registro, podemos identificar o usuário da rede que está alterando esse registro usando a função criada anteriormente.
if Pos("locked", E.Message)> 0 then
ShowMessage("Usuário """ + GetErrorInfo(ecUSERNAME) + """ está alterando o registro.");
Note que foi usada uma outra técnica de identificação do erro, usando a própria mensagem de erro e não o código, como mostrado anteriormente. Você pode usar a função criada acima mandando como parâmetro os valores mostrados abaixo, que podem ser encontrados no help da BDE.
CLIQUE NA IMAGEM PARA AMPLIAR
Para desenvolver um sistema genérico de tratamento de erros, considere a opção de criar esse tratamento em um DataModule genérico para ser usado como ancestral por todos os DataModules do sistema, utilizando a herança visual.Se o único problema for traduzir as mensagens, localize os arquivos CONSTS.INT e DBCONSTS.INT e crie uma nova Unit de definição de strings com uma estrutura semelhante a mostrada abaixo e juntando todas as definições das constantes das duas Units devidamente traduzidas. Depois, basta usar essa Unit em seus projetos que as novas mensagens irão sobrepor as anteriores.unit NewConsts;
interface
resourcestring
SAssignError = "Não é possível atribuir %s a %s";
SFCreateError = "Não é possível criar arquivo %s";
SFOpenError = "Não é possível abrir arquivo %s";
iSInvalidFieldSize = "Tamanho de campo inválido"; SInvalidFieldRegistration = "Registro de campo inválido";
SUnknownFieldType = "Campo ""%s"" tem um tipo desconhecido";
implementation
end.
sábado, 23 de fevereiro de 2013
Coverter Sinal DVI-D para VGA
Monitor, entradas/saída de vídeos não costumar apresentar problema com muita frequência, porém também não é impossível.
Nos monitores antigos, existia somente saída VGA, porém os modelos mais atuais apresentam também um padrão chamado: DVI
Os padrões DVI são um pouco mais complexos que os VGA, enquanto os VGA possuem apenas um modelo de entrada, os DVI's possuem vários conforme abaixo e nem sempre um adaptador ou um cabo que você comprar vai servir para todos os modelos.
Nos monitores antigos, existia somente saída VGA, porém os modelos mais atuais apresentam também um padrão chamado: DVI
Os padrões DVI são um pouco mais complexos que os VGA, enquanto os VGA possuem apenas um modelo de entrada, os DVI's possuem vários conforme abaixo e nem sempre um adaptador ou um cabo que você comprar vai servir para todos os modelos.
Note que algumas entrada/saida DVI possuem 04 pinos ao redor do pino maior, eles tem finalidade de transmissão analógica, ou seja eles são compatíveis com VGA e caso você precise fazer uma adaptação de conversão de VGA/DVI vai ser bem mais barato poque precisará apenas de um conector que o preço varia de R$9,00 a R$25,00.
Algumas placas possuem somente saída DVI-D conforme a imagem acima. Para converter o sinal VGA/DVI-D não será possível usando apenas um adaptador, pois a transmissão DVI-D é somente digital e enquanto a VGA é analógica. Mas como nada é impossível, você poderá está comprando um conversor que custa em média R$ 200,00
OBS: quem tem DVI-I no computador e no monitor DVI-D ou vice-versa, deverá comprar um cabo DVI-D e usará sem nenhum problema.
Imagens Reais
Curiosidades
Como religar os fios de um cabo VGA
quarta-feira, 20 de fevereiro de 2013
Como remover senha no Windows 7
No Windows XP é muito fácil
remover a senha do administrador, caso quem tenha instalado o S.O. da máquina
não tenha colocado senha no administrador, não é necessário instalar programas,
apenas com CTRL+DEL+DEL você é capaz de invadir a máquina e realizar tarefas na
máquina inclusive alterar senhas e bloqueá-la para que nem mesmo o dono tenha
mais acesso à mesma.
Agora indo ao que interessa, vou
ensinar a remover a senha do Windows 7, não importa a versão, tanto faz se
Start, Home Basic, Home Premium, Ultimate...
32bits ou 64bits.
Pré – requisitos:
1. Programa que grave imagem ISO
em cd.
EX: Nero, CDBurnerXP, ImgBurn
2. Programa para remover a senha
de usuários.
Passo – a – Passo
1.Baixe o Trinity Rescue Kit clicando
aqui
2. Após baixar, você grave o
arquivo que está em formato .iso no seu CD ou DVD.
3. Feita a gravação do arquivo,
insira o CD no seu computador com Trinity Rescue Kit gravado, altere o boot da
placa mãe para o Drive de CD/DVD
4. O programa inicia
automaticamente. Aguarde enquanto o programa carrega todas as funcionalidades.
5. Quando surgir a linha de
comandos do programa digite:
winpass -u NomeDoUsuário
Exemplo: winpass -u Darivaldo
Alencar
OBS: Digite o nome do usuário que
deseja desbloquear igual ele aparece na tela de Login, se o nome do Usuário
possuir letras maiúsculas ou espaços, não deixe de está digitando, pois o nome
deverá ser idêntico, caso contrário o programa não vai localizar o usuário
Quando surgir a mensagem
"Make Your choice or "q" to quit", pressione a tecla “1” .
6. Selecione a opção "1.
Clear (Blank) User Password.".
Surgirá uma mensagem indicando
que a senha foi "limpa".
7. Digite "Reboot" na
linha de comandos e remova o CD da drive.
Pronto!!! Seja feliz e acesse as
informações.
sexta-feira, 8 de fevereiro de 2013
Diferença entre memórias SDR DIM, DDR, DDR2 e DDR3
Existem vários sites que explicam páginas e páginas para explicar o que é um memória SDR DIM, DDR1, DDR2 ou DDR3, porém é um pouco chato ficar lendo quando na verdade a única coisa que queremos saber é a principal diferença entre elas.
As memórias DIM SDR ou DDRs, são a mesma memória, ou seja, ambas se tratam de memória RAM do computador, aquela que são voláteis(armazenam dados temporariamente durante o uso da máquina)
Abaixo uma imagem da memória SDR DIM:
Memória dividida em três partes e não é muito utilizada atualmente, normalmente são encontradas em computadores mais ultrapassados
DDR, DDR2, DDR3
Visualmente a diferença está no local que a memória é separada, mas a DDR2 é mais veloz e economiza mais energia que a DDR. A DDR3 é mais rápida que DDR2 e economiza mais energia tambem.
OBS: para uma memória ser melhor que outra também deve ser levado em conta a capacidade EX:2G,4G,8G e a frequencia 800Mhz, 1333Mhz. sendo que a frequência é a velocidade de tráfego e a Capacidade e o total de armazenamento
terça-feira, 5 de fevereiro de 2013
Como saber o número do Meu Banco
Para quem deseja trabalhar com parcerias em sites e blogs é essencial descrever o número do banco, mas e aí? Onde fica este número?
A resposta é simples: ele fica impresso logo após o número do Banco em documentos que você imprime no caixa eletrônico como talões de cheque.
Mas para quem prefere praticidade, abaixo consta uma lista de vários bancos para você saber sem precisar ir ao banco imprimir nada
Código Banco
246 Banco ABC Brasil S.A.
025 Banco Alfa S.A.
456 Banco de Tokyo-Mitsubishi UFJ Brasil S.A.
214 Banco Dibens S.A.
001 Banco do Brasil S.A.
047 Banco do Estado de Sergipe S.A.
037 Banco do Estado do Pará S.A.
041 Banco do Estado do Rio Grande do Sul S.A.
747 Banco Rabobank International Brasil S.A.
072 Banco Rural Mais S.A.
453 Banco Rural S.A.
422 Banco Safra S.A.
033 Banco Santander (Brasil) S.A.
250 Banco Schahin S.A.
749 Banco Simples S.A.
230 Unicard Banco Múltiplo S.A.
A resposta é simples: ele fica impresso logo após o número do Banco em documentos que você imprime no caixa eletrônico como talões de cheque.
Mas para quem prefere praticidade, abaixo consta uma lista de vários bancos para você saber sem precisar ir ao banco imprimir nada
Código Banco
246 Banco ABC Brasil S.A.
025 Banco Alfa S.A.
456 Banco de Tokyo-Mitsubishi UFJ Brasil S.A.
214 Banco Dibens S.A.
001 Banco do Brasil S.A.
047 Banco do Estado de Sergipe S.A.
037 Banco do Estado do Pará S.A.
041 Banco do Estado do Rio Grande do Sul S.A.
747 Banco Rabobank International Brasil S.A.
072 Banco Rural Mais S.A.
453 Banco Rural S.A.
422 Banco Safra S.A.
033 Banco Santander (Brasil) S.A.
250 Banco Schahin S.A.
749 Banco Simples S.A.
230 Unicard Banco Múltiplo S.A.
terça-feira, 8 de janeiro de 2013
Instalar e configurar Modem Vodafone K3765-Z e K3571-Z
Hoje em dia os modems 3G estão cada vez mais populares no mercado, já existem vários fabricantes para todas as operadoras, modems bloqueados, desbloqueados.
Alguns modems 3G vem como o programa da operadora Instalado e para poder usar uma outra operadora, você tem que fazer toda configuração para poder se adaptar melhor com a operadora que desejar
Para configurar seu modem veja: Configurar Modem 3G
Depois da popularidade já existem alguns desbloqueados da china que ao instalar, já se adapta sozinho de acordo com a operadora que estiver inserido o chip no mesmo, porém há modems que simplesmente veem sem nehum programa instalado e muito menos o drive.
Para quem possui o modelos: Vodafone K3765-Z ou Vodafone K3571-Z abaixo segue a forma correta de instalar:

Alguns modems 3G vem como o programa da operadora Instalado e para poder usar uma outra operadora, você tem que fazer toda configuração para poder se adaptar melhor com a operadora que desejar
Para configurar seu modem veja: Configurar Modem 3G
Depois da popularidade já existem alguns desbloqueados da china que ao instalar, já se adapta sozinho de acordo com a operadora que estiver inserido o chip no mesmo, porém há modems que simplesmente veem sem nehum programa instalado e muito menos o drive.
Para quem possui o modelos: Vodafone K3765-Z ou Vodafone K3571-Z abaixo segue a forma correta de instalar:

- Baixe o drive do modem: Vodafone K3765-Z ou Vodafone K3571-Z
- Baixe o programa: Universal da ZTE
- Com o modem encaixado na porta USB, instale primeiramente o 1ª programa que você baixou, que se trata do drive.
- Agora instale o segundo programa que se refere ao drive universal
- Após Instalar o programa universal, abra-o e clique em Settings:

- Em seguida clique em Add para configurar conforme sua operadora.

- Agora é preencher conforme a sua operadora, nosso exemplo foi com a vivo.

- Agora só clicar em OK e pronto, Clique em Internet e Conect.

OBS: Confira se está constando o nome da sua operadora na caixa de seleção perto do botão Apply, caso não esteja, selecione a operadora correta. Note que modem só vai conectar se a torre estiver constando que o aparelho está com área de cobertura, caso não esteja aparecendo em seu computador é porque você não instalou direito.
Comandos Básicos SQL
ABS = Inverte o sinal. (funciona como se multiplicar por -1).
SQRT = Calcula raiz quadrada.
ASCII = Retorna o valor de tabela ASC.
CHAR = Retorna o caractere.
DIFERE = Compara conjunto de string.
LOWER = Transforma tudo para minúsculo.
UPPER = Transforma tudo para maiúsculo.
LEFT = Retorna quantidade de dígitos a esquerda.
RIGHT = Retorna quantidade de dígitos a direita.
LTRIM = Retira espaços em branco a esquerda
RTRIM = Retira espaços em branco a direita.
REPLICATE = Replica informação quantas vezes definido.
REVERSE = Escreve ao contrário.
GETDATE = Retorna data e hora.
DATEADD = Adiciona ou diminui a data.
Ex: DATEADD (DD, 5, GETDATE ( ) )
CONVERT * Converte dados .
SELECT CONVERT (CHAR(10), GET( ),103)
Comandos Básicos
Na maioria das vezes vocês vão utilizar o Comando “ Select “.
Select <campos> From <Tabela>
Podemos declarar um ou mais campos separados por virgula ou usar “ * ” para todos os campos.
UPPER = Converte todos os caracteres para letras maiúsculas.
WHERE = Usado para especificar os registros.
EX: Select = From Tabela Where valor = 200
IS NULL = Testa se o valor do campo está definido.
IN <LISTA> = Retorna true se o valor estiver incluído.
BETWENN <MIN> AND <MAX> = Indica se o valor está incluído no intervalo.
Ex: Select * From Tabela Where Endereço Is Not Null and Custo Between 100 and 150(Seleciona o endereço cuja o Custo esteja entre o intervalo de 100 a 150.)
LIKE = Efetua combinações de padrões em string.
Ex: procurar todos Nomes que comecem com a letra C:
Select * From Tabela Where Nome Like “C%”
% = Indica combinação de caracteres e também pode ser usado no meio de uma string.
Ex: Select * From Tabela Where Nome Like “ B%N”
(Procura todos os nomes que comecem com a letra B e terminem com N.)
ORDER BY = Ordena as informações retornadas pela instrução Select.
Ex: Select * From Tabela Order By Nome
AVG = Calcula o valor médio de uma coluna
COUNT = Calcula o Nº de elementos.
MAX e MIN = Calcula o valor mais alto e o mais baixo, respectivamente de uma coluna.
SUM = Calcula o valor total de uma coluna
Ex: Select Avg Salário From Tabela.
Calcula o valor médio da coluna Salário da Tabela.
Também podemos usar os operadores:
“ - “ = Subtração.
“ + “ = Soma.
“ < “ = Menor.
“ > “ = Maior.
“ = “ = Igual.
“ >= “ = Maior igual.
“ <= “ = Menor igual.
GROUP BY = Agregar elementos antes de calcular. Por exemplo: Se você quer determinar o salário máximo e médio dos funcionários de cada departamento.Então temos:
Select Max Salário, AVG Salário, Departamento From Tabela Group by Departamento
Concatena informações:
SELECT 'DadosGerais' = CustomerId+' - '+CompanyName+' - '+ContactName, GETDATE( ) FROM Customers
FUNCÕES DE FILTRAGEM:
Vejamos agora algumas
combinações de comandos usados para filtrar:
Mostra todos customers do brasil
select * from
customers where country ='brazil '
Mostra
todos customers que a região e nulo
select * from customers where region
is null
Mostra
todos customers que a regiao ñ e nulo
select * from customers where region
is not null
Mostra
todos customers que tenham fax
select * from customers where fax is
not null
Mostra
todos customers do brazil e cidade de sao paulo
select * from customers where
country = 'brazil ' and
city = 'sao paulo '
Mostra
todos customers da sp e rj
select * from customers where region
in('rj','sp')
Mostra
todos customers que o fone tenha o nº555 e que seja do brasil
select * from customers where phone
like '%555%'
Mostrar
todos os customers que o cod. pos. termine em 0 a 3
select * from customers where
postalcode like '%[0-3]'
Elimina as colunas duplicadas.
select distinct country,city from
customers
Seleciona
todos os país sem repetição.
select distinct country from
customers
Mostrar os campos em ordem alfabética
select city,country from
customers order by city
Mostrar
os campos em ordem alfabetica decrecente.
select city from
customers order by city desc
Mostra
os 10 primeiros campos em ordem.
select top 10 companyname from
customers order by companyname
Mostra os 10 últimos.
select top 10 companyname from
customers
Mostra 50% porcento.
select top 50 percent
companyname from customers
Mostrar
os produtos com preco entre 20 e 40.
select unitprice from products where
unitprice between 20 and 40
Mostrar
o produto mais caro.
select top 1 unitprice from products
order by unitprice desc
Mostrar
o produto mais barato.
select top 1 unitprice from
products order by unitprice
Funções de agregação :
Conta
o nº de registros.
select
count (*) from products
Mostra
quantos paises tem o nome brasil.
select count(country) from
customers where country='brazil
Referencia: UPLoader MASTER
Assinar:
Postagens (Atom)







