Escolar Documentos
Profissional Documentos
Cultura Documentos
Informática
Visual Basic
Java
Oracle
SQL Server
ISBN: 978-85-387-1473-6
CDD 001.6
17
Visual Basic.Net – estrutura da linguagem
17 | Entendendo a linguagem
17 | Como realizar comentários em meio ao código
18 | Identificadores
18 | Variáveis Numéricas, String e Booleanas
19 | Declarando variáveis
21 | Declarando e inicializando Arrays
22 | Opções de compilação
24 | Operadores
25 | Estruturas condicionais: If...Then...Else
27 | O comando Select Case
27 | Estruturas loop
29 | Controles de interface
30 | Propriedade Name
30 | O objeto Form
32 | O objeto Button
33 | O objeto TextBox
35 | O objeto Label
35 | O objeto GroupBox
36 | O objeto Radio Button
36 | Interação com o usuário
39 | Tratando erros de processamento
45
mário
Introdução
A linguagem BASIC (Beginners All-Purpose Symbolic Instruction Code) foi
criada por J. Kemeny e T. Kurtz em 1963 com o intuito de tornar mais faci-
litado e claro o ensino dos conceitos de linguagem de programação, pois
na época existiam apenas as linguagens FORTRAN e Assembly que empre-
gavam rotinas de baixo nível para controles e eram compiladas, não sendo
muito fácil sua compreensão por um grande número de alunos.
Kemeny e Kurtz criaram então dessa forma e com esses simples objetivos
os fundamentos do que seria a linguagem BASIC.
Reprodução.
do usuário guiada por um mouse, o que era uma grande inovação para os
padrões de interface da época em que se utilizavam somente as teclas de
atalho para essa finalidade.
A aceitação pela comunidade de programadores e a popularidade do
produto é muito grande, criando uma verdadeira legião de desenvolvedores
em VB.
Em 1993 a Microsoft apresenta o que o mercado considera como a versão
mais madura e profissional do VB, a versão 3.0, que permite ao produto co-
nectividade e acesso aos Bancos de Dados Relacionais do mercado, que era
uma tecnologia que vinha se desenvolvendo em paralelo e tornou-se um
padrão de mercado em armazenamento de dados.
Em 1997 a Microsoft reúne em um único pacote de
Reprodução.
Ambiente de desenvolvimento
Introdução
Muitas novidades foram implementadas ao Visual BASIC, mas uma das
mais sensíveis aos desenvolvedores é o ambiente de desenvolvimento ou
IDE (Integrated Development Environment) do VB.
Em versões anteriores, cada ferramenta do Visual Studio possuía um am-
biente, com características, configurações, comandos, opções e assistentes
diferentes.
A ideia da Microsoft agora é integrar todas essas linguagens de desenvol-
vimento em um único ambiente chamado Visual Studio.NET, que engloba
todas as características para todas as ferramentas.
11
Visual Basic.Net – introdução e ambiente
Isso quer dizer que você não precisa mais conhecer uma série de ferra-
mentas. Você usa uma única ferramenta, bastando apenas escolher qual lin-
guagem você quer usar.
Você pode perceber que na área central do VS.NET é exibida a Start Page
com as principais opções. Se você tiver conectado à internet, você terá como
acessar páginas da Microsoft com informações e novidades sobre a platafor-
ma .NET.
Form Designer
Cada janela em um aplicativo é representada por um Form ou formulá-
rio. É a partir do Form Designer que você irá criar a interface gráfica de sua
janela. Essa janela é considerada um objeto, portanto possui suas próprias
características.
Além disso, o Form Designer lhe dá a imagem de como irá ficar a janela
quando o aplicativo for executado.
Toolbox
Essa janela carrega uma lista com os controles que serão usados para criar
a interface gráfica de um Form. Existem diferentes conjuntos de controles
disponíveis, dependendo do tipo de projeto que está ativo no ambiente.
14
Visual Basic.Net – introdução e ambiente
Janela de propriedades
Quando você está criando a interface gráfica de sua
janela, você vai precisar configurar as características dos
controles adicionados no formulário. Essa janela apresen-
ta uma lista com as propriedades disponíveis do objeto
selecionado.
Editor de código
É dentro dessa janela que você irá codificar seu aplicativo. Todos os even-
tos, procedures, métodos, propriedades e comandos de linguagem ficam
aqui.
Para abrir essa janela, basta você dar um duplo clique em qualquer con-
trole do formulário ou apertar F7. Nesse momento, o editor de código será
apresentado com o evento default do controle pressionado. Caso você não
queira esse evento, você pode usar as listas acima da janela para escolher o
objeto desejado, e para esse objeto, o evento que você quer codificar.
15
Visual Basic.Net –
estrutura da linguagem
Entendendo a linguagem
Para iniciar nossa programação em Visual Basic.Net veremos alguns recur-
sos e funções da própria linguagem.
MsgBox(“Mensagem”, MsgBoxStyle.Critical _
+ MsgBoxStyle.OKOnly, “AVISO”)
Visual Basic.Net – estrutura da linguagem
Identificadores
Um identificador é um nome que define unicamente um elemento da
linguagem como uma variável, classe, objeto ou método.
Números
Números podem estar sempre em duas categorias: ou é um número in-
teiro ou então é um número que possui casas decimais (o chamado ponto
flutuante). E, apesar de existirem inúmeros tipos possíveis para se criar
uma variável que contenha um número inteiro ou um número ponto flu-
tuante, usaremos neste material o seguinte padrão para tipos de variáveis
numéricas:
String
Para representar texto de forma geral, independentemente de quantos
caracteres possua, usaremos o tipo String.
18
Visual Basic.Net – estrutura da linguagem
Booleana
Uma variável booleana apenas pode possuir os seguintes valores: True ou
False, ou seja, verdadeira ou falsa.
Declarando variáveis
Estaremos sempre declarando as variáveis, em meio a um código, passan-
do a palavra Dim seguida do nome da variável, a palavra As e o tipo com o
qual desejamos criá-la. Exemplo:
End Sub
Onde a primeira declaração cria uma variável de nome iValor do tipo In-
teger, logo depois é criada a variável sNome, cujo conteúdo será um valor
do tipo String, e em seguida a variável bTeste que receberá valores boole-
anos. Em linguagem de programação, é comum colocar antes do nome da
variável uma letra que já expresse qual é o seu tipo; no exemplo anterior o s
que aparece na variável sNome é para facilitar o reconhecimento que esta é
uma variável do tipo String.
<NomeVariável> = <Valor>
19
Visual Basic.Net – estrutura da linguagem
sNome = “João”
iValor = 1500
bTeste = True
Conversão de tipos
Muitas vezes, poderemos nos deparar com situações em que exista in-
compatibilidade de tipos entre expressões e variáveis.
Para convertermos o valor (que tem um tipo original) para o tipo espera-
do, precisamos usar as funções de conversão do Visual Basic, apresentadas
a seguir:
Função Descrição
CStr Converte para String
CInt Converte para Integer
CDbl Converte para Double
CDate Converte para Date
Format Converte para String
20
Visual Basic.Net – estrutura da linguagem
Esses valores são divididos em elementos dentro do Array, que são inde-
xados por um número. Através desse número é que você poderá ler e atribuir
valores.
valores(0) = 100
valores(9) = 300
Opções de compilação
As opções de compilação podem afetar várias partes do seu aplicativo.
Duas dessas opções influenciam diretamente como os data types se com-
portam e como você pode usá-los. São elas: Option Explicit e Option Strict.
Option Strict On
Option Explicit On
Ou
22
Visual Basic.Net – estrutura da linguagem
Option Strict
Option Explicit
Com o Option Explicit habilitado (On), toda variável que for usada no
código deve ser obrigatoriamente declarada. Caso contrário, um erro de
compilação será gerado.
Isso pode ser perigoso! Suponha que você estivesse utilizando uma va-
riável chamada Salario. Se por um acaso, no momento de atribuir um valor,
você errar esse nome, você terá problemas, pois ao invés de utilizar a variável
Salario, ele irá declarar outra automaticamente.
Salario = 1000
Nesse caso, a variável Bonus não irá receber o resultado correto do cál-
culo já que a variável Salrio não foi declarada. Se você estivesse usando o
23
Visual Basic.Net – estrutura da linguagem
Option Explicit, o compilador iria gerar um erro e lhe obrigar a declarar expli-
citamente a variável ou, como no caso, corrigi-la.
Operadores
Operadores são símbolos especiais que realizam uma função específica.
Existem vários tipos de operadores, como aritméticos, lógicos, de compara-
ção, atribuição etc.
Aritméticos
Operador Descrição Exemplo
^ Potência 10 ^ 3 = 1 000
- Subtração 10 - 3 = 7
+ Adição 10 + 3 = 13
* Multiplicação 10 * 3 = 30
/ Divisão real 10 / 3 = 3,3333333333333
\ Divisão de tipos inteiros 10 \ 3 = 3
mod Resto da divisão 10 Mod 3 = 1
Operadores relacionais
Utilizamos os operadores chamados relacionais para montarmos condi-
ções, seja para uma estrutura condicional ou de loop.
Comparação
Operador Descrição
= Igualdade
<> Diferente
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
24
Visual Basic.Net – estrutura da linguagem
If <condição> Then
<comandos>
End If
onde temos a seguinte ideia: o(s) comando(s) citado(s) apenas seriam re-
alizados se a condição fosse verdadeira. A estrutura If estaria sendo encerra-
da no End If.
If <condição> Then
<comando>
Else
<comando>
End If
Aqui foram utilizadas instruções simples, tanto para o Then quanto para
o Else. Note que, nesse caso, novamente, o If se encerraria no End If final.
25
Visual Basic.Net – estrutura da linguagem
If <condição> Then
<instrução>
<instrução>
<instrução>
<instrução>
Else
<instrução>
<instrução>
End If
Ifs Encadeados
Podemos também construir Ifs Encadeados. Dessa forma, teríamos uma
sintaxe semelhante a:
<instrução>
<instrução>
Else
<instrução>
<instrução>
Else
<instrução>
<instrução>
<instrução>
Case <Valor1>
<instrução>
<instrução>
Case <Valor2>
<instrução>
<instrução>
Case Else
<instrução>
End Select
Estruturas loop
Loop é uma estrutura que pode ser composta por diversas instruções,
sendo executada repetidamente até determinada condição ser atendida.
Do While...Loop
A estrutura básica do loop While é a que segue:
Do While <condição>
<instrução>
<instrução>
Loop
onde o loop inicia na primeira linha (com a palavra While) e encerra com
a palavra loop.
Exemplo:
Dim i As Integer
i=5
Do While i > 0
i=i-1
MsgBox (CStr(i))
Loop
Loop For...Next
Loop que é executado um número preestabelecido de vezes. A estrutura
básica do loop For é a que segue:
28
Visual Basic.Net – estrutura da linguagem
<comandos>
Next
onde o loop inicia na primeira linha (com a palavra For) e encerra com a
frase Next. Ao iniciar o processamento desse loop, a variável citada assume
o valor passado como inicial. O Passo é o número inteiro a ser incrementado
(caso seja um valor positivo) ou decrementado (caso seja um valor negativo)
da variável citada sempre que o loop é reexecutado, quando, automatica-
mente, compara o novo valor (resultado dessa operação) com o valor final.
Caso a variável tenha por novo valor um número inferior ou igual ao valor
final citado, o loop será executado novamente; caso contrário, encerra-se o
processamento do loop (já que a variável já ultrapassou o valor final citado).
Exemplo:
For i = 0 To 4 Step 1
MsgBox(CStr(i))
Next
Controles de interface
Agora, aprenderemos controles de tela para, então, começarmos a criar
alguns exercícios em Visual Basic.Net.
Form;
Button;
TextBox;
Label;
29
Visual Basic.Net – estrutura da linguagem
GroupBox;
Panel.
Propriedade Name
Utilizamos a propriedade Name para personalizar os objetos na tela, faci-
litando, assim, sua referência via código.
O objeto Form
Nós visualizamos o objeto Form logo no início da explicação sobre o
Visual Basic.Net, quando nosso objetivo era entender como funcionava o
ambiente de programação dessa linguagem.
Sempre que criarmos uma nova aplicação (menu File, opção New Pro-
ject), um novo Form automaticamente será exibido.
Principais propriedades
Text
Essa propriedade serve para configurar o texto estático que aparece na
barra título do Form.
30
Visual Basic.Net – estrutura da linguagem
StartPosition
Inicialmente, um formulário sempre aparecerá na posição em que foi
construído ou aparecerá aleatoriamente, a cada momento, em uma posição
diferente da tela.
FormBorderStyle
Para não permitir que o usuário redimensione a janela, iremos configurar
essa propriedade com os valores: Fixed ToolWindow (para que a janela fique
com a aparência das janelas de ferramentas – seja propriedade, projeto, ou
qualquer outra – do ambiente VB.Net – ou seja, a janela ficará sem os botões
de minimizar e maximizar) ou Fixed Single (deixando a borda da janela fixa,
com os botões de maximizar e minimizar).
MaximizeBox
Essa propriedade representa o botão de maximizar do Form. Para desabi-
litar esse botão, devemos alterar o valor dessa propriedade para False.
Font
Permite que mudemos a fonte default do formulário (a qual também será
o default para todos os controles que colocarmos sobre o Form).
BackColor
Permite alterar a cor de fundo do Formulário.
AcceptButton
Permite selecionar um botão no formulário que será acionado ao apertar
a tecla Accept <ENTER>.
31
Visual Basic.Net – estrutura da linguagem
CancelButton
Tem a mesma função do AcceptButton, porém o botão é acionado quando
é pressionada a tecla Cancel <ESC>.
Eventos do Form
Load: o código especificado nesse evento sempre será executado assim
que o formulário for criado em memória, logo no início da execução de sua
aplicação.
O objeto Button
Sempre que desejarmos criar um botão sobre o formulário, usaremos
este controle, identificado pelo ícone:
ab Button
Fonte: Microsoft Visual Studio, 2008.
Propriedades do Button
Text
Lembrando, a propriedade Text permite que configuremos o texto está-
tico que aparece na face do botão, para o usuário, em tempo de execução.
32
Visual Basic.Net – estrutura da linguagem
Esse texto também pode ser configurado usando um “&” antes da letra que,
juntamente com a tecla Alt, permite o disparo do mesmo controle, como se
tivéssemos pressionado o mesmo.
Enabled
Essa propriedade permite habilitar ou desabilitar o botão.
Eventos do Button
Click: aqui codificamos o que deve ocorrer quando o botão for
pressionado.
O objeto TextBox
O objeto TextBox é a caixa de texto do Visual Basic, ou seja, uma caixa
própria para o usuário informar uma linha (ou até várias) de texto, sendo
identificado pelo ícone:
abl TextBox
Fonte: Microsoft Visual Studio, 2008.
Propriedades do TextBox
Enabled
Caso, em algum instante, você queira exibir uma caixa de texto, mas que
seja utilizada simplesmente para exibir, por exemplo, um resultado do seu
processamento, ao invés de ser um controle disponível para edição pelo usu-
ário, é necessário mudar o valor dessa propriedade para False, indicando
que o controle está desabilitado, ou seja, ele existe, mas não para edição
do usuário, que é a finalidade padrão do controle; você o usará para exibir
algum dado não passível de alterações.
Text
É nessa propriedade que o Visual Basic guarda o texto digitado pelo usuá-
rio no controle. Podemos utilizá-la também para que o controle já apareça,
33
Visual Basic.Net – estrutura da linguagem
MultiLine
Quando essa propriedade tem seu valor alterado para True, a caixa de
texto será utilizada não para o informe de somente uma linha de texto, mas
sim para que informemos várias linhas.
ScrollBars
Quando utilizamos uma caixa de texto para edição de várias linhas (pro-
priedade MultiLine com valor True), podemos configurar que o mesmo
controle terá também barras de rolagem. Os valores possíveis serão: None
(nenhuma barra de rolagem), Horizontal (barra de rolagem horizontal),
Vertical ou ainda Both (nesse último caso, terá as duas barras, horizontal e
vertical).
WordWrap
A propriedade WordWrap determina se o TextBox (quando MultiLine está
em True) fará a quebra de linha automática ou não (True para automática e
False para manual).
Métodos do TextBox
Focus: quando, em meio ao nosso código, utilizarmos esse método, es-
taremos jogando o foco para o controle TextBox, ou seja, estamos fazendo
com que o cursor seja “jogado” nesse controle.
Clear: ao utilizar o método Clear, o TextBox irá limpar (deixar sem texto).
Eventos do TextBox
KeyPress: através desse evento podemos fazer uma validação da entrada
feita pelo usuário, a cada letra pressionada (o próprio VB nos disponibiliza o
código Ascii da última tecla pressionada – basta nos referenciar a KeyAscii
dentro desse evento, em meio ao código).
34
Visual Basic.Net – estrutura da linguagem
O objeto Label
O objeto Label é um texto estático, não sujeito à digitação direta do usuá-
rio, que nos permite exibir alguma frase (que oriente a operação do usuário
na aplicação) ou algum resultado de processamento.
A Label
Fonte: Microsoft Visual Studio, 2008.
Propriedades do Label
Text
É através dessa propriedade que configuramos o texto que será exibido
através do controle.
AutoSize
É através dessa propriedade que definimos um autoajuste de tamanho
para o Label.
O objeto GroupBox
O objeto GroupBox é um objeto com botões do tipo Radio. Esses botões
são de seleção única.
XY
GroupBox
Fonte: Microsoft Visual Studio, 2008.
Propriedades do GroupBox
Text
É através dessa propriedade que configuramos o texto que será apresen-
tado na parte superior do GroupBox.
35
Visual Basic.Net – estrutura da linguagem
Enabled
É através dessa propriedade que habilitamos com True ou False o acesso
aos objetos internos do GroupBox.
RadioButton
Fonte: Microsoft Visual Studio, 2008.
Text
Através dessa propriedade, configuramos o texto dessa opção que apa-
recerá para o usuário.
Checked
Essa propriedade define se o Botão será selecionado por padrão na inicia-
lização do programa.
36
Visual Basic.Net – estrutura da linguagem
MessageBox;
InputBox.
Usando MessageBox
Caso você queira exibir uma mensagem, dentro de uma caixa de diálo-
go, para o usuário, você precisará usar MessageBox, seguindo, em meio ao
código, a sintaxe a seguir.
MessageBox.Show(“Mensagem”, “MessageBox”, _
MessageBoxButtons.OKCancel
37
Visual Basic.Net – estrutura da linguagem
Como podemos, ainda usando essa função, exibir até mais de um botão,
é natural que precisemos verificar qual foi o botão selecionado pelo usuário
na caixa de diálogo. A função MessageBox retorna exatamente qual foi esse
botão, e o Visual Basic disponibiliza algumas constantes que representam
justamente o retorno da função.
Retorno Descrição
DialogResult.Abort O Botão Abort foi pressionado
DialogResult.Cancel O Botão Cancel foi pressionado
DialogResult.Yes O Botão Yes foi pressionado
DialogResult.No O Botão No foi pressionado
DialogResult.Retry O Botão Retry foi pressionado
DialogResult.Ok O Botão Ok foi pressionado
Else
End If
38
Visual Basic.Net – estrutura da linguagem
Com esse código poderemos ter o retorno em função de qual botão foi
pressionado pelo usuário.
Usando InputBox
Essa função exibe uma caixa de diálogo composta por um Label, um Text
Box e dois botões: Ok e Cancel. A utilizamos como caixa de entrada. Por-
tanto, sempre que precisamos que o usuário nos informe um determinado
valor, podemos utilizar esta função, que tem por sintaxe:
onde temos uma variável que receberá o valor digitado pelo usuário na
caixa de texto, e 2 argumentos a serem passados para a função InputBox.
“Título” é o texto a ser exibido na barra de título da caixa de diálogo; “Texto”
é o texto que aparecerá como valor do Label, uma frase que orientará o usu-
ário sobre o valor que ele deverá informar na caixa de texto.
Para isso, deveríamos criar uma variável (no exemplo, será a de nome
sTexto) e depois usarmos a função InputBox como segue:
Exit Sub
<Nome>:
End Sub
40
Visual Basic.Net – estrutura da linguagem
,MessageBoxButtons.OK _
,MessageBoxIcon.Information)
Exit Sub
Erros:
Para isso devemos utilizar o evento Key Press do TextBox, fazendo com que
seja avaliado qual caracter foi digitado e permitindo ou não a sua utilização.
41
Visual Basic.Net – estrutura da linguagem
Exemplo:
Case Else
Beep()
e.Handled = True
End Select
End Sub
Dessa forma, caso o usuário digite algum caractere que não esteja entre
“0” e “9”ou a tecla backSpace, o programa simplesmente ignora a tecla
pressionada.
42
Visual Basic.Net – exercícios
Exercício 1
Objetivo
No final da digitação, caso ele tecle Enter ou caso clique com o mouse
sobre o botão Piscinas (as ações serão equivalentes), teremos que avaliar a
quantidade informada, de forma que se a quantidade não foi informada, de-
vemos exibir um erro; caso contrário, devemos prosseguir o processamento,
exibindo uma caixa de diálogo com a mensagem:
“Você está fora de forma!” (se a quantidade for menor ou igual a 20);
“Você está em forma!” (se a quantidade for inferior a 50 e maior que 20);
“Você está pronto para competir!” (se a quantidade for maior ou igual a 50).
Resolução
Form1
Nome da propriedade Valor
Name Piscinas
StartPosition CenterScreen
FormBorderStyle FixedSingle
Text Voltas na Piscina
Visual Basic.Net – exercícios
Label1
Nome da propriedade Valor
Text Número de Piscinas
TextBox1
Nome da propriedade Valor
Name txtPiscinas
Text
Button1
Nome da propriedade Valor
Text Resultado
Name btnPiscinas
Case Else
Beep()
e.Handled = True
End Select
46
Visual Basic.Net – exercícios
If txtPiscinas.Text = “” Then
Beep()
MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
txtPiscinas.Focus()
Exit Sub
End If
iVoltas = CInt(txtPiscinas.Text)
Else
End If
47
Visual Basic.Net – exercícios
MessageBox.Show(sTexto, sTitulo, _
MessageBoxButtons.OK, _
MessageBoxIcon.Information)
txtPiscinas.Clear()
txtPiscinas.Focus()
Logo depois começa o código, onde podemos encontrar uma estrutura If:
If txtPiscinas.Text = “” Then
Beep()
MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
txtPiscinas.Focus()
Exit Sub
End If
48
Visual Basic.Net – exercícios
iVoltas = CInt(txtPiscinas.Text)
Else
End If
49
Visual Basic.Net – exercícios
MessageBox.Show(sTexto, sTitulo, _
MessageBoxButtons.OK, _
MessageBoxIcon.Information)
Por último, a função MsgBox é executada para exibir uma caixa de diálogo
onde o texto apresentado é justamente a mensagem armazenada na variá-
vel sTexto, e o título da caixa é o valor da variável sTitulo.
Exercício 2
Objetivo
No final da digitação, caso ele tecle Enter ou caso clique com o mouse
sobre o botão “Maior” (as ações serão equivalentes), teremos que determinar
e apresentar o maior dentre os dois números informados na parte inferior
da tela.
50
Visual Basic.Net – exercícios
Resolução
Form1
Nome da propriedade Valor
Name frmMaior
FormBorderStyle Fixed ToolWindow
StartPosition CenterScreen
Text Maior número
Label1
Nome da propriedade Valor
Text Nro 1:
TextBox1
Nome da propriedade Valor
Name txtN1
Text
Label2
Nome da propriedade Valor
Text Nro 2:
TextBox2
Nome da propriedade Valor
Name txtN2
Text
Label3
Nome da propriedade Valor
Name lblResultado
Text
51
Visual Basic.Net – exercícios
Button1
Nome da propriedade Valor
Text &Maior ?
Name btnMaior
Para que apenas sejam aceitos dígitos no informe que o usuário fará na
caixa de texto, teremos que codificar, assim como no exercício anterior, o
evento KeyPress do objeto txtNro1 (que é a primeira caixa de texto) – o
código também é idêntico ao do exercício anterior:
Case Else
Beep()
e.Handled = True
End Select
Dim N1 As Integer
Dim N2 As Integer
Dim Resultado As String
52
Visual Basic.Net – exercícios
MessageBox.Show( _
“Informe dois nº inteiros.” _
, “Erro” _
, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
Exit Sub
End If
N1 = CInt(txtN1.Text)
N2 = CInt(txtN2.Text)
If N1 > N2 Then
Resultado = CStr(N1) + _
“ é maior que “ + CStr(N2)
ElseIf N2 > N1 Then
Resultado = CStr(N2) + _
“ é maior que “ + CStr(N1)
Else
Resultado = CStr(N1) + _
“ é igual a “ + CStr(N2)
End If
lblResultado.Text = Resultado
Exercício 3
53
Visual Basic.Net – exercícios
Objetivo
Resolução
Form1
Nome da propriedade Valor
Name frmDesconto
FormBorderStyle FixedSingle
StartPosition CenterScreen
Text Calcular Desconto
Label1
Nome da propriedade Valor
Name lblValorTotal
Text Valor Total
Label2
Nome da propriedade Valor
Name lblDesconto
Text Desconto
Label3
54
Visual Basic.Net – exercícios
Label4
Nome da propriedade Valor
Name lblPorcentagem
Text %
TextBox1
Nome da propriedade Valor
Name txtValorTotal
Text
TextBox2
Nome da propriedade Valor
Name txtDesconto
Text
Button1
Nome da propriedade Valor
Text &Calcular
Name btnCalcular
Button2
Nome da propriedade Valor
Name btnSair
Text &Sair
Agora clique duas vezes sobre o botão Calcular e digite os seguintes co-
mandos no evento Click.
On Error Go To erros
55
Visual Basic.Net – exercícios
Valor = CDbl(txtValorTotal.Text)
Desconto = CDbl(txtDesconto.Text)
MessageBox.Show( _
,“Erro”, MessageBoxButtons.OK_
, MessageBoxIcon.Error)
txtDesconto.Clear()
txtDesconto.Focus()
ExitSub
EndIf
lblValorFinal.Text = “ValorFinal: “
ExitSub
erros:
MessageBox.Show(_
“Erro”, MessageBoxButtons.OK,_
MessageBoxIcon.Error)
txtValor.Clear()
txtDesconto.Clear()
txtValor.Focus()
56
Visual Basic.Net – exercícios
Valor = CDbl(txtValorTotal.Text)
Desconto = CDbl(txtDesconto.Text)
MessageBox.Show( _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
txtDesconto.Clear()
txtDesconto.Focus()
Exit Sub
End If
57
Visual Basic.Net – exercícios
Exercício 4
Objetivo
O usuário deverá clicar no botão (ou teclar Enter), quando então serão
solicitados três números, cujos valores devemos armazenar dentro de uma
matriz de três posições.
À medida que lemos esses três números, devemos somá-los e, uma vez
determinado o resultado dessa soma, devemos apresentá-lo em tela, dentro
da caixa de texto.
A caixa de texto, neste exercício, será usada somente para exibir o resulta-
do do cálculo, de forma que o usuário não poderá editar o seu conteúdo.
Resolução
Form1
Nome da propriedade Valor
Name frmSoma
FormBorderStyle Fixed ToolWindow
StartPosition CenterScreen
Text Soma de Números
58
Visual Basic.Net – exercícios
Label1
Nome da propriedade Valor
Text Resultado da Soma:
TextBox1
Nome da propriedade Valor
Name txtResultado
Text
Enabled False
Button1
Nome da propriedade Valor
Text &Solicitar 3 Nros
Name btnResultado
Dim i As Integer
txtResultado.Clear()
i=1
Soma = 0
For i = 1 To 3 Step 1
59
Visual Basic.Net – exercícios
+ “º numero:”, “Entrada”)
Valor(i) = CInt(Texto)
Soma += Valor(i)
Next
txtResultado.Text = CStr(Soma)
Exit Sub
erros:
If Texto = “” Then
MessageBox.Show( _
, “Erro” _
, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
Else
MessageBox.Show( _
“Valor Inválido!” _
, “Erro” _
, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
End IF
60
Visual Basic.Net – exercícios
erros:
If Texto = “” Then
MessageBox.Show( _
, “Erro” _
, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
Else
MessageBox.Show( _
“Valor Inválido !” _
, “Erro” _
, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
End If
61
Visual Basic.Net – exercícios
62
Visual Basic.Net – exercícios
63
Visual Basic.Net – exercícios
Logo depois, vem um loop For onde a variável contadora é i, que começa-
rá com valor 1 e irá até o valor 3, que são justamente as posições de Valor que
precisam receber valor. O loop servirá para ler os 3 valores, armazenando-os
na matriz, bem como para obter a soma desses mesmos valores, resultado
que ficará na variável Soma.
Logo depois, Texto ainda é tratado com a função Trim que elimina os espa-
ços em branco das extremidades do texto (esquerda e direita), caso tenham
sido informados.
Valor(i) = Cint(Texto.Trim())
Soma + = Valor(i)
txtResultado.Text = Cstr(Soma)
e a instrução:
Exit Sub
que manda abandonar a execução do evento (se chegou até esse ponto
do código, tudo funcionou), de forma que não seja executado o tratamento
de erro que vem a seguir, no final do código.
64
Visual Basic.Net – exercícios
Exercício 5
Objetivo
O usuário deverá clicar no botão (ou teclar Enter), quando então serão
calculadas a média e a situação final do aluno.
Verificar se o informe das notas foi feito, e em caso afirmativo, se está cor-
reto (valores entre 0 e 10), emitindo mensagem de erro se for o caso.
Resolução
Form1
Nome da propriedade Valor
Name frmMedia
FormBorderStyle FixexSingle
StartPosition CenterScreen
Text Média De Um Aluno
65
Visual Basic.Net – exercícios
Label1
Nome da propriedade Valor
Text Nota 1:
Label2
Nome da propriedade Valor
Text Nota 2:
TextBox1
Nome da propriedade Valor
Name txtNota1
Text
TextBox2
Nome da propriedade Valor
Name txtNota2
Text
Button1
Nome da propriedade Valor
Text &Calcula
Name btnCalcula
TextBox3
Nome da propriedade Valor
Name txtMedia
Enabled False
MultiLine True
Text
66
Visual Basic.Net – exercícios
nt1 = CDbl(txtNota1.Text)
nt2 = CDbl(txtNota2.Text)
MessageBox.Show(“Nota(s) Inválida(s)!”, _
“Erro”, MessageBoxButtons.OK, _
MessageBoxIcon.Error)
txtNota1.Focus()
Exit Sub
End If
situacao = “Aprovado”
situacao = “Exame”
67
Visual Basic.Net – exercícios
Else
situacao = “Reprovado”
End If
txtMedia.Text = _
Chr(13) + Chr(10) + _
Chr(13) + Chr(10) + _
Chr(13) + Chr(10) + _
“Situação: “ + situacao
txtNota1.Focus()
Exit Sub
erros:
MessageBox.Show(“Verifique as Notas”, _
“Erro”, MessageBoxButtons.OK, _
MessageBoxIcon.Error)
txtNota1.Focus()
68
Visual Basic.Net – exercícios
situacao = “aprovado”
situacao = “exame”
Else
situacao = “reprovado”
End If
Se Media (média final do aluno) for maior ou igual a 5, o aluno foi “apro-
vado”; caso contrário (já sabemos que é menor que 5), se a média for maior
ou igual a 3, o aluno está de “exame”; caso contrário, a média é inferior a 3, de
forma que o aluno foi “reprovado”.
69
Visual Basic.Net – exercícios
txtMedia.Text = _
Chr(13) + Chr(10) + _
Chr(13) + Chr(10) + _
Chr(13) + Chr(10) + _
“Situação: “ + situacao
txtNota1.Focus()
txtNota1.Focus
70
Visual Basic.Net – exercícios
Exercício 6
Objetivo
Caso o usuário clique no botão “Exibe Positivos” assim que iniciou a apli-
cação, devemos acusar um erro, já que ele ainda não informou os valores.
A exibição dos valores positivos deve ser feita em uma caixa de diálogo,
como segue:
Resolução
Form1
Nome da propriedade Valor
Name frmMatrizPositivos
FormBorderStyle FixedSingke
StartPosition CenterScreen
Text Matriz - Exibe Positivos
71
Visual Basic.Net – exercícios
Button1
Nome da propriedade Valor
Text &Solicita Valores
Name BtnSolicita
Button2
Nome da propriedade Valor
Text &Exibe Positivos
Name btnExibe
bInforme = False
72
Visual Basic.Net – exercícios
Dim i As Integer
For i = 1 To 10 Step 1
Texto = InputBox(“Informe o “ + _
aValor(i) = CInt(Texto)
Next
BInforme = True
btnExibe.Focus()
Exit Sub
erros:
If Texto = “” And _
MessageBox.Show(“Valor Inválido!” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
Else
MessageBox.Show(
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
End If
73
Visual Basic.Net – exercícios
Aqui declaramos duas variáveis: sTexto (será usado para sempre conter o
último número informado pelo usuário) e i (que utilizaremos para controlar
qual é a posição da matriz que estamos processando).
Dim i As Integer
MessageBox.Show(“Informar os Valores” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
btnSolicita.Focus()
Exit Sub
End If
74
Visual Basic.Net – exercícios
MSG = “”
For i = 1 To 10 Step 1
Positivo = aValor(i)
If MSG = “” Then
+ Chr(13) + Chr(10)
End If
+ CStr(Positivo)
End If
Next
If MSG = “” Then
MessageBox.Show( _
, “Resultado”, MessageBoxButtons.OK _
, MessageBoxIcon.Exclamation)
Else
MessageBox.Show(MSG _
, “Resultado”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
End If
MessageBox.Show(“Informar os Valores” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
btnSolicita.Focus()
Exit Sub
End If
For i = 1 To 10 Step 1
Positivo = aValor(i)
If MSG = “” Then
+ Chr(13) + Chr(10)
End If
+ CStr(Positivo)
End If
Next
76
Visual Basic.Net – exercícios
If MSG = “” Then
MessageBox.Show( _
, “Resultado”, MessageBoxButtons.OK _
, MessageBoxIcon.Exclamation)
Else
MessageBox.Show(MSG _
, “Resultado”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
End If
Se a variável estiver vazia, avisamos que não foram informados números po-
sitivos. Caso contrário, a variável tem conteúdo, o qual é exibido para o usuário.
Exercício 7
Objetivo
Resolução
Form1
Nome da propriedade Valor
Name frmMedia
FormBorderStyle FixedSingle
StartPosition CenterScreen
Text Média dos Positivos
Button1
Nome da propriedade Valor
Text &Solicita
Name btnSolicita
78
Visual Basic.Net – exercícios
Button2
Nome da propriedade Valor
Text &Calcula
Name btnCalcula
TextBox1
Nome da propriedade Valor
Name txtResultado
ReadOnly True
Text
Multiline True
For i = 1 To 10 Step 1
Texto = InputBox(“Informe o “ + _
CStr(i) + “º Número:”, “Entrada”)
aValor(i) = CDbl(Texto)
Next
btnCalcula.Enabled = True
btnSolicita.Enabled = False
Exit Sub
erros:
79
Visual Basic.Net – exercícios
MessageBox.Show(“Valor inválido” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
Else
MessageBox.Show( _
, “Aviso”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
End If
For i = 1 To 10 Step 1
Soma += aValor(i)
Pos += 1
End If
Next
80
Visual Basic.Net – exercícios
txtResultado.Text = _
“Quantidade de valores: “ _
+ “Soma: “ _
FormatNumber(Media, 2)
Else
txtResultado.Text = _
End If
btnSolicita.Enabled = True
btnCalcula.Enabled = False
81
Visual Basic.Net – exercícios
Exercício 8
Objetivo
O usuário deverá clicar no botão (ou teclar Enter), quando então serão
determinados os dados para parcelamento. Só haverá parcelamento se o
valor da compra for maior ou igual a 500.
82
Visual Basic.Net – exercícios
Resolução
Form1
Nome da propriedade Valor
Name FrmParcelamento
FormBorderStyle FixedSingle
StartPosition CenterScreen
Text Verifica Parcelamento
Label1
Nome da propriedade Valor
Text Valor da Compra:
TextBox1
Nome da propriedade Valor
Name txtValor
Button1
Nome da propriedade Valor
Text &Calcular
Name btnCalcular
Label2
Nome da propriedade Valor
Text Resultado:
Name lblResultado
TextBox2
Nome da propriedade Valor
Name txtResultado
Enabled False
MultiLine True
ValorTotal = CDbl(txtValor.Text)
MessageBox.Show(“Valor inválido” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
txtValor.Clear()
txtValor.Focus()
Exit Sub
End If
QtdParcelas = “2 Parcelas”
ValorParcela = FormatNumber _
((ValorTotal / 2), 2)
Data2 = Format(Now.AddMonths(1), _
“dd/MM/yyyy”)
84
Visual Basic.Net – exercícios
Else
QtdParcelas = “À Vista”
End If
lblResultado.Text = _
“Resultado: “ + QtdParcelas
txtResultado.Text = _
FormatNumber(ValorTotal, 2) _
+ Chr(13) + Chr(10)
If ValorParcela = “” Then
txtResultado.Text += _
“Para: “ + Data1 _
+ Chr(13) + Chr(10)
Else
txtResultado.Text += _
+ Chr(13) + Chr(10) _
End If
txtValor.Focus()
Exit Sub
85
Visual Basic.Net – exercícios
erros:
MessageBox.Show(“Valor inválido” _
, “Erro”, MessageBoxButtons.OK _
, MessageBoxIcon.Error)
txtValor.Clear()
txtValor.Focus()
QtdParcelas = “2 Parcelas”
ValorParcela = FormatNumber _
((ValorTotal / 2), 2)
Data2 = Format(Now.AddMonths(1), _
“dd/MM/yyyy”)
86
Visual Basic.Net – exercícios
Já a função Format permite que formatemos não apenas datas, mas até
mesmo horas, deixando esses dados no formato que desejamos. No nosso
caso, precisamos exibir a data como sendo dia/mês/ano, mas ano com 4 dígi-
tos. Dessa forma, estamos utilizando o formato “dd/MM/yyyy” (2.o argumen-
to passado) para impor esse formato à nossa data corrente (1.o argumento
passado).
Else
QtdParcelas = “À Vista”
End If
lblResultado.Text = _
“Resultado: “ + QtdParcelas
87
Visual Basic.Net – exercícios
If ValorParcela = “” Then
txtResultado.Text += _
“Para: “ + Data1 _
+ Chr(13) + Chr(10)
Else
txtResultado.Text += _
+ Chr(13) + Chr(10) _
End IF
Else
txtResultado.Text += _
+ Chr(13) + Chr(10) _
End If
88
Visual Basic.Net – exercícios
txtValor.Focus()
Exemplos de aplicação
89
Java – introdução e ambiente
Reprodução.
Os quatro fundadores da Sun com o primeiro computador fa-
bricado pela empresa, em foto de 2006.
A visão da Sun do futuro do mercado era mais radical, pois ela entendia
que os microchips tornariam-se cada vez mais baratos e por consequência
seriam adotados em eletrodomésticos comumente usados pelas pessoas no
seu dia a dia.
Para participar desse suposto futuro, a ideia então era criar uma linguagem
de programação capaz de atender tanto a necessidade de desenvolvimento
dos clientes corporativos quanto a dos dispositivos eletrodomésticos.
Em 2009, a Sun teve seu controle acionário assumido pela Oracle Cor-
poration, que promete continuar desenvolvendo os produtos e serviços da
empresa com o mesmo estilo visionário e arrojo que foi a marca registrada
da Sun.
92
Java – introdução e ambiente
93
Java – introdução e ambiente
O Java e o C++
Java é uma linguagem de desenvolvimento orientada a objetos. Em pri-
meira instância, um programa feito em Java pode se parecer muito com pro-
94
Java – introdução e ambiente
Todos os objetos são derivados de uma única classe base chamada Object
que compartilha toda sua funcionalidade.
Versões do Java
Assim que um novo recurso é adicionado ao Java, a Sun cria uma nova
versão dele e a disponibiliza. Essas versões são numeradas de acordo com o
JDK (Java Development Kit) anterior.
JDK 1. 2. 2
95
Java – introdução e ambiente
O JBuilder
Hoje em dia, existem várias formas de você desenvolver programas em
Java. A forma mais barata e mais trabalhosa é utilizar qualquer editor de
texto. Nesse caso, basta que você tenha o JSDK (que é a mesma coisa que o
JDK – a implementação do S é para definir o formato Standard Edition do Kit)
instalado em seu ambiente.
96
Java – introdução e ambiente
Ambiente de desenvolvimento
Descrição do ambiente
Antes de você começar a conhecer melhor os recursos da linguagem
Java, é preciso conhecer o ambiente do JBuilder para que você possa nave-
gar entre as janelas.
Assim que você carrega o JBuilder, ele já deverá carregar o último projeto
aberto. Se for a primeira vez, ele deverá trazer um projeto de demonstração
que apresenta um tutorial sobre o JBuilder.
Portanto, assim que ele for carregado por completo, você deverá visuali-
zar uma tela parecida com esta:
97
Java – introdução e ambiente
Content Pane
Essa é a principal área do JBuilder. Dentro dela você pode ver abas que
podem mudar o conteúdo apresentado:
Source
Apresenta o código fonte do arquivo corrente. A partir desse ponto, você
pode editar seu programa definindo novas classes, estruturas, funções etc.
Design
Local usado para a criação da interface gráfica e configuração dos com-
ponentes e caixas de diálogo. Ele possui uma paleta com os componentes
usados na criação do aplicativo além do Inspector, onde você tem acesso às
propriedades e eventos dos componentes.
98
Java – introdução e ambiente
Project Pane
Essa área apresenta a estrutura de arquivos do projeto corrente. Através
do Project Pane você pode gerenciar, adicionar, remover, recompilar, execu-
tar e configurar cada arquivo do projeto.
Structure Pane
Apresenta a estrutura do arquivo que está sendo mostrado no Content
Pane.
99
Java – introdução e ambiente
Inspector
O Inspector é responsável por apresentar as propriedades e eventos de
um objeto que esteja selecionado.
Nesse caso, para saber qual o objeto selecionado, basta utilizar o Structu-
re Pane em modo de Design. Quando você selecionar um elemento da lista,
suas propriedades e eventos aparecerão no Inspector.
100
Java – introdução e ambiente
Paleta de componentes
Nessa paleta, que aparece quando selecionado o modo Design, você irá
encontrar a maioria dos componentes usados para a criação de um progra-
ma Java. Repare que ela é dividida em abas que categorizam os componen-
tes. Além disso, você também pode desenvolver novos componentes ou até
mesmo comprá-los ou adquiri-los pela internet e adicioná-los a essa paleta.
Dessa forma, você pode expandir os recursos do JBuilder.
101
Java – estrutura da linguagem
Comentários
Comentários são linhas de código que serão ignoradas pelo compila-
dor. Essas linhas normalmente são usadas para descrever a codificação do
aplicativo.
Existem duas formas de criar comentários no Java.
Comentário em bloco: esse tipo possibilita você criar várias linhas no
mesmo bloco de comentário. Ele inicia com /* e termina com */.
Exemplo:
/*Comentários em
várias linhas*/
Exemplo:
x = a + b; //Comentários em linha
Identificadores
Um identificador é um nome que define unicamente um elemento da
linguagem como uma variável, classe, objeto ou método.
Java – estrutura da linguagem
Blocos de comando
Comandos são representados em uma ou mais linhas do código fonte de
seu aplicativo.
Assim, uma sequência de comandos deve ser isolada em blocos. Um
bloco de comandos é um grupo de comandos com comportamento único.
No Java, os blocos são delimitados por chaves (“{“ e “}”). A maioria das es-
truturas de código, como classes, estruturas de loop, estruturas condicionais,
tratamento de exceções etc., utilizam esta ideia.
Veja um exemplo:
<condicao>
<comando>
<comando>
<comando> }
<comando>
}
104
Java – estrutura da linguagem
[= valorInicial];
Repare que a declaração inicia com o tipo de dado, seguida pelo nome da
variável e opcionalmente por um valor de inicialização. Caso você não defina
um valor inicial, a JVM (Java Virtual Machine) irá inicializar a variável com um
valor default de acordo com o datatype. Repare também que a palavra final
é opcional. Quando usada, ela define que o conteúdo da variável não muda,
ou seja, ela é uma constante.
int x;
Tipos primitivos
Lembre-se que os tipos primitivos são aqueles que são reconhecidos di-
retamente pelo compilador e não precisam de bibliotecas adicionais.
Numéricos
Se uma variável numérica não for inicializada, a JVM irá atribuir automati-
camente o valor 0. Os principais tipos numéricos do Java são:
Veja um exemplo:
int codCliente;
Boolean
O tipo boolean possui apenas dois valores que são True e False. Variá-
veis booleanas que não foram inicializadas são carregadas automaticamente
com False.
106
Java – estrutura da linguagem
Tipos compostos
Lembre-se que os tipos compostos são tipos que possuem recursos es-
peciais. Normalmente são classes definidas em bibliotecas e portanto são
considerados objetos. Os principais tipos são String e Array.
Strings
String é uma sequência de caracteres. Esse datatype é membro de uma
package chamada java.lang. Isso quer dizer que String não é um tipo primi-
tivo, e sim uma classe. Portanto, sempre que você quiser utilizar uma String
você terá que importar essa package em seu aplicativo.
Uma variável String não pode ser alterada depois de inicializada. O que
acontece na verdade é que a variável aponta para um espaço em memória
onde está o objeto guardando o texto. Sempre que você quiser alterar seu
conteúdo, o que acontece é a criação de um novo objeto com o novo valor
em outro endereço de memória. Nesse caso, a variável passa a apontar para
esse novo endereço.
String nomeCliente =
nomeCliente = “IESDE”;
107
Java – estrutura da linguagem
StringBuffer pode ser alterado. Isso quer dizer que ela possui alguns méto-
dos capazes de alterar seu conteúdo sem mudar o endereço de memória.
nomeCliente.append(“Sistemas”);
nomeCliente.append(“de”);
nomeCliente.append(“ensino”);
Arrays
Um Array é uma estrutura de dados que pode carregar vários valores do
mesmo tipo, independentemente de qual seja esse tipo: primitivo, compos-
to ou até mesmo classes definidas pelo usuário.
A criação de um Array deve definir quantos elementos ele pode ter. Como
a base de um Array é sempre 0, um Array de 10 elementos está indexado de
0 a 9. Veja alguns exemplos:
//Array simples
Para você acessar o conteúdo de um Array, você deve indicar entre chaves
o índice do elemento desejado. Veja o exemplo, neste caso estamos atribuin-
do valores aos elementos do Array, ou seja, uma inserção.
108
Java – estrutura da linguagem
valores[0] = 1234;
valores[9] = 4321;
int i = 10;
float f = (float) i;
Você deve tomar cuidado já que nem sempre é possível realizar o cast,
pois ele pode resultar em perda de dados. Esse problema é identificado pelo
compilador que gera uma mensagem de erro. A regra básica para o cast é
que os tipos têm que ser pelo menos do mesmo tamanho do tipo original.
Veja uma tabela com as possíveis conversões:
109
Java – estrutura da linguagem
conversão. Por exemplo, a classe que manipula tipos int se chama Integer.
Repare o nome com inicial maiúscula. Isso indica que é uma classe. Veja uma
tabela com as classes mais importantes:
int i = 10;
float f = (float) i;
s = String.valueOf(i);
i = Integer.ParseInt(s);
Operadores
Operadores são símbolos especiais que realizam uma função específica.
Existem vários tipos de operadores como aritméticos, lógicos, de compara-
ção, atribuição etc.
Unários
São operadores que atuam somente a partir de uma variável. Eles são de-
clarados na parte da frente da variável. Existem dois operadores desse tipo:
o Incremento ++ e o Decremento --. O que eles fazem é, respectivamente, au-
mentar e diminuir em 1 o valor de qualquer número inteiro na variável.
110
Java – estrutura da linguagem
Binários
Operadores binários são aqueles que necessitam de dois operandos para
realizar uma ação. Por exemplo, “+” usado para somar dois valores: 2 + 2.
Aritméticos
Operador Descrição
+ +/- - Autoincremento/decremento
+/- Unário positivo/negativo
* Multiplicação
/ Divisão
% Módulo (resto da divisão)
+/– Adição/subtração
Lógicos
Operador Descrição
! Unário. Negação (not)
&& Short-circuit AND
|| Short-circuit OR
exemplo1:
exemplo2:
111
Java – estrutura da linguagem
Comparação
Operador Descrição
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
== Igual
!= Diferente
Atribuição
Operador Descrição
= Atribuição simples
+= Adição e atribuição
-= Subtração e atribuição
*= Multiplicação e atribuição
/= Divisão e atribuição
x += 10;
Equivalente a:
x = x + 10;
Estruturas condicionais
Estruturas condicionais são usadas para definir qual caminho será usado
pelo programa dependendo do retorno de uma expressão.
If...Else
O comando If é usado em blocos que são executados dependendo de
uma condição. Apenas um dos blocos será executado quando a estrutura
112
Java – estrutura da linguagem
definir uma condição True. Ele também pode ter um Else opcional. A sintaxe
básica é a seguinte:
if (condição)
//código verdadeiro
else if (condição)
//código verdadeiro
else
//código falso
Objetos de tela
Agora vamos conhecer os principais objetos de tela do JBuilder:
JFrame;
JPanel;
JButton;
JTextField;
JLabel;
JTextArea.
113
Java – estrutura da linguagem
JFrame
Propriedade Descrição
background Indica a cor de fundo da janela.
resizable Indica se a janela poderá ser redimensionada ou não.
title Representa o texto que irá aparecer na barra de título da janela.
JPanel
Propriedade Descrição
border Nessa propriedade, você pode configurar as características da borda do
componente.
layout Aqui você seleciona o layout manager que será usado para controlar o po-
sicionamento e redimensionamento dos componentes dentro do Panel.
JButton
Propriedade Descrição
enabled Com essa propriedade você pode habilitar ou desabilitar o componente.
text Texto que aparece na face do botão.
mnemonic Caractere usado como atalho para o botão.
toolTipText Define o texto que aparece como descrição do componente quando o
usuário parar com o mouse sobre ele.
JTextField
Você usará um JTextField para obter informações do usuário ou para mos-
trar informações para o usuário.
JTextField
Propriedade Descrição
editable Indica se o conteúdo do campo pode ser alterado.
text Conteúdo do campo.
114
Java – estrutura da linguagem
Eventos JTextField
Propriedade Descrição
keyPressed Dispara quando uma tecla é pressionada.
keyTyped Dispara quando uma tecla de comando (Enter, Backspace, CTRL+carac.,
ALT+carac. etc.) é pressionada.
keyReleased Dispara quando o usuário solta a tecla.
JLabel
Um JLabel mostra um texto estático. Ele normalmente é utilizado para
descrever outros controles que não têm uma propriedade que os descreva.
Um exemplo deste tipo de componente é o JTextField. Em alguns casos, o
JLabel também é utilizado para mostrar mensagens ao usuário, já que ele é
um componente que não pode ter seu conteúdo alterado pelo usuário.
JLabel
Propriedade Descrição
text Representa o texto mostrado pelo JLabel.
JTextArea
Um JTextArea tem propriedades e aparência similares às do JTextField.
Esse objeto é usado para inserção de múltiplas linhas de texto.
JTextArea
Propriedade Descrição
editable Indica se o conteúdo do campo pode ser alterado.
text Conteúdo do campo.
115
Java – estrutura da linguagem
Estruturas de loop
Estruturas de loop possibilitam a você indicar os procedimentos que o
programa tem que executar repetidas vezes.
While
Esse loop é usado para criar um bloco de código capaz de ser executado
enquanto uma condição for verdadeira. A sintaxe básica dele é:
while (condição)
//código do loop
Do
Esse tipo de loop é parecido com o While. A diferença é que o While testa
a condição no início da estrutura; o Do testa a condição no final. Isso quer
dizer que o código dentro de Do será executado pelo menos uma vez.
do
//código do loop
} while (condição);
For
O loop For é considerado o mais poderoso já que ele envolve uma con-
dição baseada em um contador que é incrementado a cada volta. A sintaxe
básica do For é:
116
Java – estrutura da linguagem
//código do loop
Break e Continue
Existem casos em que você precisa cancelar a execução de um loop e rea-
lizar uma “quebra” na estrutura. Existem dois comandos usados para isso:
Break
Esse comando é usado quando você precisa sair da estrutura de loop
antes da condição ser testada. Portanto, assim que o comando Break é en-
contrado, o loop termina imediatamente ignorando o código que havia a
seguir. Veja um exemplo em que o loop deveria rodar de 0 a 10, porém o
Break para a execução do loop no 7:
if (i == 7)
break;
//código do loop
117
Java – estrutura da linguagem
Continue
O comando Continue é usado quando você precisa quebrar o loop e rei-
niciar uma nova volta. Veja um exemplo em que o loop roda de 0 a 10, porém
pula a execução do número 7:
if (i == 7)
continue;
//código do loop
118
Java – exercícios
Exercício 1
Objetivo
No final da digitação, caso ele tecle Enter ou caso clique com o mouse
sobre o botão Resultado (as ações serão equivalentes), teremos que avaliar a
quantidade informada, de forma que: se a quantidade não foi informada, de-
vemos exibir um erro; caso contrário, devemos prosseguir o processamento,
exibindo uma caixa de diálogo com a mensagem:
“Você está fora de forma!” (se a quantidade for menor ou igual a 20);
“Você está em forma!” (se a quantidade for inferior a 50 e maior que 20);
“Você está pronto para competir!” (se a quantidade for maior ou igual a 50).
Resolução
JFrame (this)
Nome da propriedade Valor
State normal
Title Piscinas que nadou
ContentPanel
Nome da propriedade Valor
Layout Xy layout
Name Piscinas
JLabel1
Nome da propriedade Valor
Text Número de Piscinas
JtextField
Nome da propriedade Valor
Name txtPiscinas
Text
JButton1
Nome da propriedade Valor
Text Resultado
Mnemonic R
Name btnPiscinas
122
Java – exercícios
char c = e.getKeyChar();
Toolkit.getDefaultToolkit().beep();
e.consume();
int nro = 0;
if ( piscinas.equals(“”) )
else
123
Java – exercícios
nro = Integer.parseInt(piscinas);
if ( nro < 20 )
else
Caso o valor tenha sido preenchido pelo usuário, vamos converter esse
valor para inteiro e vamos atribuir esse valor convertido para a variável nro.
Exercício 2
Objetivo
No final da digitação, caso ele tecle Enter ou caso clique com o mouse
sobre o botão “Exibe Maior” (as ações serão equivalentes), teremos que de-
terminar e apresentar o maior entre os dois números informados na parte
inferior da tela.
Resolução
125
Java – exercícios
ContentPanel
Nome da propriedade Valor
Layout XY layout
Text Maior de 2 Números
JLabel1
Nome da propriedade Valor
Text Numero 1:
JLabel2
Nome da propriedade Valor
Text Numero 2:
JLabel3
Nome da propriedade Valor
Name lblResultado
horizontalAlignment Center
Text
JTextField1
Nome da propriedade Valor
Name txtNro1
Text
JTextField2
Nome da propriedade Valor
Name txtNro2
Text
JButton1
Nome da propriedade Valor
Text Exibe Maior ?
Name btnExibe
Mnemonic E
126
Java – exercícios
int nro1 = 0;
int nro2 = 0;
if (txtNro1.getText().length()==0 |txtNro2.getText().length()==0)
else
nro1=Integer.parseInt(txtNro1.getText());
nro2=Integer.parseInt(txtNro2.getText());
+ txtNro1.getText();
else
txtNro2.getText();
lblResultado.setText(msg);
char c = e.getKeyChar();
Toolkit.getDefaultToolkit().beep();
e.consume();
Também vamos atribuir uma referência no objeto txtNro2 para que ele
execute o mesmo código do txtNro1, também no evento KeyTyped:
txtNro1_keyTyped(e);
128
Java – exercícios
Exercício 3
Objetivo
O usuário deverá clicar no botão (ou teclar Enter), quando então serão
solicitados três números, cujos valores devemos armazenar dentro de uma
matriz de três posições.
À medida que lemos esses três números, devemos somá-los e, uma vez
determinado o resultado dessa soma, devemos apresentá-lo em tela, dentro
da caixa de texto.
A caixa de texto, neste exercício, será usada somente para exibir o resulta-
do do cálculo, de forma que o usuário não poderá editar o seu conteúdo.
Resolução
ContentPane
Nome da propriedade Valor
Layout XY Layout
JLabel1
Nome da propriedade Valor
Text Resultado da Soma:
129
Java – exercícios
JTextField1
Nome da propriedade Valor
Name txtResultado
Text
Enabled False
JButton1
Nome da propriedade Valor
Text Solicita os 3 Nros
Name btnSoma
int soma = 0;
try
soma += Integer.parseInt(JOptionPane.
showInputDialog(“Digite um número:”));
JOptionPane.showMessageDialog(null,
“Número inválido: \n” +
nfe.getMessage());
return;
txtResultado.setText(String.valueOf(soma));
}
130
Java – exercícios
Exercício 4
Objetivo
O programa deverá calcular o valor final de um produto já deduzido o
desconto, sendo que este só poderá ser de 0% até 100%, informando uma
mensagem de erro caso o usuário digite um valor inválido.
Resolução
Altere as seguintes propriedades:
ContentPane
Nome da propriedade Valor
Layout Xy Layout
Title Calcular Desconto
131
Java – exercícios
JLabel1
Nome da propriedade Valor
Name lblValor
Text Valor Total
JLabel2
Nome da propriedade Valor
Name lblDesconto
Text Desconto
JLabel3
Nome da propriedade Valor
Name lblValorFinal
Text Valor Final:
JLabel4
Nome da propriedade Valor
Name lblPorcentagem
Text %
JButton1
Nome da propriedade Valor
Text Calcular
Name btnCalcular
JButton2
Nome da propriedade Valor
Text Sair
Name btnSair
JTextField1
Nome da propriedade Valor
Text
Name txtValor
132
Java – exercícios
JTextField2
Nome da propriedade Valor
Text
Name txtDesconto
double valor = 0;
double perc = 0;
double resultado = 0;
if (txtValor.getText().equals(“”)||
txtDesconto.getText().equals(“”) )
else
if ( (perc<=0) || (perc>=100) )
lblValorFinal.setText( msg );
return;
133
Java – exercícios
String.valueOf(valor -
lblValorFinal.setText( msg );
Logo após a criação das variáveis testamos para saber se os campos txt
Valor e txtDesconto foram preenchidos, caso qualquer um dos campos não
tenha sido preenchido a variável msg será carregada com a informação “va-
lores inválidos”.
Por fim, caso todos os valores estejam corretos, vamos efetuar o cálculo
do desconto e atribuir o resultado ao Label, lblValor Final.
Agora vamos codificar para garantir que o usuário digite somente núme-
ros nos dois campos; para isso vamos codificar o evento KeyTyped do objeto
txtValor.
char c = e.getKeyChar();
(c == e.VK_DELETE) || (c == e.VK_BACK_SPACE)))
Toolkit.getDefaultToolkit().beep();
e.consume();
134
Java – exercícios
txtValor_keyTyped(e);
System.exit(0);
Exercício 5
Objetivo
Verificar se o informe das notas foi feito e, em caso afirmativo, se está cor-
reto (valores entre 0 e 10), emitindo mensagem de erro se for o caso.
135
Java – exercícios
Resolução
ContentPane
Nome da propriedade Valor
Name frmMedia
Layout XY Layout
JLabel1
Nome da propriedade Valor
Text Nota 1:
JLabel2
Nome da propriedade Valor
Text Nota 2:
JTextField1
Nome da propriedade Valor
Name txtNota1
Text
JTextField2
Nome da propriedade Valor
Name txtNota2
Text
JButton1
Nome da propriedade Valor
Text Calcular
Mnemonic C
Name btnCalcular
136
Java – exercícios
JTextArea1
Nome da propriedade Valor
Name txtResultado
Enabled False
Text
char c = e.getKeyChar();
Toolkit.getDefaultToolkit().beep();
e.consume();
txtNota1_keyTyped(e);
btnCalcular.setEnabled((
txtNota1.getText().length()>0 &&txtNota2.getText().length()>0));
txtNota1_keyReleased(e);
137
Java – exercícios
(txtNota1.getText());
(txtNota2.getText());
double media = 0;
String msg=null;
else
media = (nota1+nota2)/2;
if (media<5)
msg = “REPROVADO”;
else if ( media>5)
msg = “APROVADO”;
138
Java – exercícios
else,
msg = “EXAME”;
txtResultado.setText(“Situação: “ + msg +
“\nNota 1 : “ + txtNota1.getText() +
“\nNota 2 :” + txtNota2.getText() +
“\nMédia= “+String.valueOf(media));
Exercício 6
139
Java – exercícios
Objetivo
O usuário deverá clicar no botão (ou teclar Enter), quando então serão
determinados os dados para parcelamento. Só haverá parcelamento se o
valor da compra for maior ou igual a 500.
Resolução
ContentPane
Nome da propriedade Valor
Layout XyLayout
JLabel1
Nome da propriedade Valor
Name lblValor
Text Valor da Compra:
JTextField
Nome da propriedade Valor
Name txtValor
Text
140
Java – exercícios
JButton
Nome da propriedade Valor
Text Calcular
Mnemonic C
Name btnCalcula
JLabel2
Nome da propriedade Valor
Text Resultado:
Name lblResultado
JTextArea
Nome da propriedade Valor
Name txtResultado
Enabled False
Text
import java.util.*;
import java.text.*;
String msg=null;
141
Java – exercícios
data2.add(Calendar.MONTH, 1);
msg=”2 Parcelas”;
parcela=Vtotal / 2;
txtResultado.setText(“Situação: “ + msg +
“\nData 1= “ + sdf.format(data1.getTime()) +
“\nData 2= “ + sdf.format(data2.getTime()) +
“\nParcelas= “+String.valueOf(parcela)+
else
txtResultado.setText(“Situação: “ + msg +
142
Java – exercícios
Para que possamos trabalhar com esse objeto, fizemos a importação des-
sa Package além da Package java.util, sendo que essa tem os objetos de ca-
lendário que usamos nas variáveis de data.
char c = e.getKeyChar();
Toolkit.getDefaultToolkit().beep();
e.consume();
btnCalcula.setEnabled(txtValor.getText().length()>0);
O código acima fará com que o botão btnCalcula seja habilitado automa-
ticamente sempre que um valor for preenchido no campo txtValor.
Exercício 7
143
Java – exercícios
Objetivo
Resolução
ContentPane
Nome da propriedade Valor
Name frmMaior
Layout XyLayout
JButton1
Nome da propriedade Valor
Name btnSolicita
Mnemonic S
Text Solicita
JButton2
Nome da propriedade Valor
Name btnMaior
Mnemonic E
Text Exibe
144
Java – exercícios
try{
resultado = JOptionPane.showInputDialog
(“Digite o “ + String.valueOf(i + 1)
+ “º número:”);
if ( (resultado == null) ||
(resultado.equals(“”)) )
return;
else
valores[i] = Integer.parseInt(resultado);
btnExibe.setEnabled(true);
btnSolicita.setEnabled(false);
catch(NumberFormatException nfe){
145
Java – exercícios
int maior = 0;
maior = valores[i];
maior=0;
btnExibe.setEnabled(false);
btnSolicita.setEnabled(true);
No código acima vamos ler cada valor que o usuário digitou e no final do
processamento vamos exibir o valor da variável maior, que receberá sempre
o maior valor informado porque em cada valor lido nós comparamos esse
valor com o da variável maior, e caso o valor lido seja maior do que o já car-
regado nós atribuímos esse valor para a variável maior.
Exercício 8
146
Java – exercícios
Objetivo
Resolução
ContentPanel
Nome da propriedade Valor
Name frmMedia
Layout XyLayout
JButton1
Nome da propriedade Valor
Text Solicita Valores
Mnemonic S
Name btnSolicita
147
Java – exercícios
JButton2
Nome da propriedade Valor
Text Exibe Média
Mnemonic E
Name btnExibe
Com o layout criado vamos criar o Array valores; a criação desse Array
deve ser global, ou seja, ele deve ser declarado antes do primeiro código
para botões.
try {
resultado = JOptionPane
.showInputDialog(“Digite o “ +
String.valueOf(i + 1) +
“º número:”);
if ( (resultado == null) ||
(resultado.equals(“”)) )
return;
else
valores[i] = Integer.parseInt
(resultado);
148
Java – exercícios
catch(NumberFormatException nfe)
JOptionPane.showMessageDialog
int contador=0;
double soma=0;
double media=0;
if (valores[i] > 0)
soma+=valores[i];
contador++;
if (contador>0)
media=soma/contador;
149
Java – exercícios
else
return;
JOptionPane.showMessageDialog( null,
“Total= “+String.valueOf(soma)+”\n” +
“+String.valueOf(media)+”\n”);
150
Banco de dados Oracle
Introdução
O conceito original de banco de dados iniciou-se no ambiente acadêmi-
co e foi desenvolvido para o mercado comercialmente pela IBM na década
de 1970, visando atender seus grandes clientes corporativos. Nesse mesmo
período o governo americano, através da agência CIA, procurava também de-
senvolver ferramentas que possibilitassem armazenar e recuperar de forma
segura uma quantidade muito grande de informações. O objetivo desses pro-
jetos eram o de possuir um grande banco de dados com informações que
pudessem ser inseridas, cruzadas e refinadas sem a necessidade de desenvol-
vimento de códigos de programação com procedimentos definidos e fixos.
Oracle
O Oracle caracteriza-se no mercado corporativo por sua grande capaci-
dade de portabilidade, o que lhe permite rodar em diversas plataformas de
sistemas operacionais, diferentemente do SQL Server da Microsoft, que é
voltado e integrado ao sistema operacional Windows.
SINTAXE:
Datatype Descrição
VARCHAR2(size) Recebe dados tipo caracter de tamanhos variáves.
CHAR (size) Recebe dados tipo caracter com tamanho fixo.
NUMBER(size,size) Recebe dados numéricos inteiros e decimais.
DATE Recebe dados de data e hora.
Exemplo:
155
Banco de dados Oracle
SINTAXE:
Exemplo 1:
Exemplo 2:
SINTAXE:
156
Banco de dados Oracle
Exemplo:
SINTAXE:
Declaração Descrição
INSERT Adiciona uma nova linha à tabela.
UPDATE Modifica linhas existentes.
DELETE Remove linhas existentes.
Torna todas as mudanças de dados pendentes em perma-
COMMIT
nentes.
ROLLBACK Desfaz todas as mudanças de dados pendentes.
COMMIT e ROLLBACK
Commit (confirmar, gravar em disco) e Rollback (desfazer, retornar)
são comandos utilizados obrigatoriamente para finalizar as transações.
INSERT
Inserir uma linha na tabela ALUNO.
157
Banco de dados Oracle
SINTAXE:
Exemplo:
UPDATE
Alterar uma linha na tabela ALUNO.
SINTAXE:
WHERE = Condição
Exemplo:
158
Banco de dados Oracle
UPDATE ALUNO
WHERE CODIGO = 1
DELETE
Excluir uma linha na tabela ALUNO.
SINTAXE:
WHERE = Condição
Exemplo:
SELECT
É o principal comando da linguagem e é utilizado para declaração do tipo
de leitura ou linhas que se deseja resgatar no banco. Como a instrução per-
mite a combinação e concatenação com outros comandos e tabelas, torna-se
um poderoso instrumento de busca em qualquer banco de dados relacional.
159
Banco de dados Oracle
SINTAXE:
FROM TABELA
WHERE CONDIÇÃO
Exemplo:
Select NOME
From ALUNO
WHERE CODIGO = 1
ORDENAÇÃO:
SINTAXE:
ORDER BY
160
Banco de dados Oracle
Exercícios
O Oracle historicamente projetado em sistemas sem interface gráfica
nativa, como o Unix, AIX, HP-UX, Linux, Solaris etc., preserva sua ferramen-
ta de manipulação SQL com as características de caractere até as versões
atuais. Ela também fornece versões gráficas para trabalhar com a linguagem
SQL*PLUS, e no mercado existe uma série de ferramentas gráficas para ma-
nipulação e estatística de código SQL que trabalham inclusive com outros
bancos de dados.
161
Banco de dados Oracle
162
Banco de dados Oracle
Gabarito
1.
SINTAXE:
(CODIGO NUMBER(7),
NOME VARCHAR2(25),
SOBRENOME VARCHAR2(25),
COD_USUARIO VARCHAR2(8),
COMENTARIOS VARCHAR2(20),
COD_GERENTE NUMBER(7),
CARGO VARCHAR2(25),
COD_DEPTO NUMBER(7),
SALARIO NUMBER(11,2),
PCT_COMISSAO NUMBER(4,2) );
163
Banco de dados Oracle
2.
SINTAXE:
1 INSERT INTO
1 INSERT INTO
2 EMP
1 INSERT INTO
2 EMP
164
Banco de dados Oracle
1 INSERT INTO
2 EMP
commit;
3.
SINTAXE:
UPDATE EMP
WHERE CODIGO = 7;
commit;
165
Banco de dados Oracle
4.
SINTAXE:
5.
166
Banco de dados Oracle
SINTAXE:
2 FROM EMP
3 WHERE CODIGO = 7
6.
SINTAXE:
2 FROM EMP
3 ORDER BY NOME
167
Exemplo de aplicação
Java com Oracle
Para criar esse exemplo você vai precisar dos seguintes objetos:
04 jdbTextField
01 jdbTextArea
01 jdbNavToolBar
01 jdbStatusLabel
01 database
01 queryDataSet
ContentPanel
Propriedade Valor
Layout XyLayout
jdbTextField1
Propriedade Valor
Name txtTitulo
dataSet queryDataSet1
columnName Nome
jdbTextField2
Propriedade Valor
Name txtCodigo
dataSet queryDataSet1
columnName codigo
jdbTextField3
Propriedade Valor
Name txtDuracao
dataSet queryDataSet1
columnName duracao
jdbTextField4
Propriedade Valor
Name txtCategoria
dataSet queryDataSet1
columnName tipo
170
Exemplo de aplicação Java com Oracle
jdbTextArea
Propriedade Valor
Name txtSinopse
dataSet queryDataSet1
columnName sinopse
jdbNavToolBar
Propriedade Valor
Name navFilmes
dataSet queryDataSet1
jdbStatusLabel
Propriedade Valor
Name lblStatus
dataSet queryDataSet1
Database
Propriedade Valor
Name dbFilmes
DRIVER oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@
URL
Connection instrutor:1521:ORCL
USERNAME aluno
PASSWORD senha
queryDataSet1
Propriedade Valor
Name queryDataSet1
dataBase dbFilmes
query select * from filmes
171
Banco de dados – SQL Server
Server 3 Server
APPLICATION DATABASE
4 2
5
1
CLIENT
Banco de dados – SQL Server
A linguagem T-SQL
Da mesma forma que a Oracle, a Microsoft também se deparou com os
problemas de falta de recursos técnicos da linguagem SQL ANSI, para especi-
ficação de código de programação mais denso e também para continuidade
de integração do banco de dados com as novas tecnologias conquistadas
pelas novas arquiteturas de computação com o passar dos anos.
O Instituto Americano de
Padronização (American Natio-
nal Standards Institute – ANSI)
e a Organização de Padroni-
zação Internacional (Interna-
tional Standards Organization
– ISO) definiram padrões para
a linguagem SQL.
Digite:
Existem vários tipos de datatypes que são tratados pelo SQL Server. Aqui
vamos comentar os seguintes:
Datatype Descrição
VARCHAR(size) Recebe dados tipo caracter de tamanhos variáves.
CHAR (size) Recebe dados tipo caracter com tamanho fixo.
DECIMAL (size,size) Recebe dados numéricos inteiros e decimais.
DATETIME Recebe dados de data e hora.
Exemplo:
176
Banco de dados – SQL Server
Ele vai abrir a janela a seguir com as opções e selecionamos New Table.
Veja que na parte de baixo ele abre uma janela mostrando as proprieda-
des de criação para cada coluna criada.
177
Banco de dados – SQL Server
Exemplo 1:
Exemplo 2:
Exemplo 3:
INSERT
O comando INSERT é utilizado para inserir linha em uma tabela e sua sin-
taxe é:
179
Banco de dados – SQL Server
SINTAXE:
Exemplo:
Inserir uma linha na tabela ALUNO.
UPDATE
O comando UPDATE é utilizado para alterar uma linha em uma tabela e
sua sintaxe é:
SINTAXE:
WHERE = Condição
Exemplo:
UPDATE ALUNO
WHERE CODIGO = 1
181
Banco de dados – SQL Server
DELETE
Para a execução correta do comando DELETE, temos de localizar a linha
exata da tabela que queremos deletar.
Essa localização é fornecida pela cláusula WHERE.
SINTAXE:
WHERE = Condição
Exemplo:
Deletar a linha da tabela ALUNO cujo código seja = 1:
COMMIT e ROLLBACK
COMMIT (confirmar, gravar em disco) e ROLLBACK (desfazer, retornar) são
comandos utilizados obrigatoriamente para finalizar as transações. No Ma-
nagement a confirmação é efetuada clicando o botão Parse (um ícone de set
do lado direito do botão execute).
SELECT
É o principal comando da linguagem e utilizado para declaração do tipo de
leitura ou linhas que se deseja resgatar no banco. Como a instrução permite
a combinação e concatenação com outros comandos e tabelas, torna-se um
poderoso instrumento de busca em qualquer banco de dados relacional.
SINTAXE:
FROM TABELA
WHERE CONDIÇÃO
183
Banco de dados – SQL Server
Exemplo:
Select NOME
From ALUNO
WHERE CODIGO = 1
Ordenação
Podemos declarar na consulta SQL que os dados sejam mostrados de
forma ordenada. Para tanto devemos usar a cláusula ORDER BY especifican-
do por qual valor de coluna queremos ordenar a consulta.
184
Banco de dados – SQL Server
SINTAXE:
ORDER BY
FROM ALUNO
ORDER BY NOME
Atividades
1. Criar uma tabela de empregados chamada EMP com as seguintes de-
finições:
CODIGO numérico de 7
NOME alfanumérico de 25
SOBRENOME alfanumérico de 25
COD_USUÁRIO alfanumérico de 8
COMENTARIOS alfanumérico de 20
COD_GERENTE numérico de 7
CARGO alfanumérico de 20
185
Banco de dados – SQL Server
COD_DEPTO numérico de 7
SALARIO numéricas de 11 inteiras e 2 decimais
PCT_COMISSÃO numéricas de 4 inteiras e 2 decimais
Gabarito
1.
186
Banco de dados – SQL Server
2.
187
Banco de dados – SQL Server
188
Banco de dados – SQL Server
Confirmar as transações:
3.
189
Banco de dados – SQL Server
4.
5.
190
Banco de dados – SQL Server
6.
191
Exemplo de aplicação Visual
Studio.Net com SQL Server
Para criar esse exemplo você vai precisar dos seguintes objetos:
05 TextBox
05 Label
01 BindingNavigator
01 BindingSource
Form
Propriedade Valor
Name frmFilmes
Text Cadastro de Filmes
FormBorderStyle FixedSingle
StartPosition centerScreen
Exemplo de aplicação Visual Studio.Net com SQL Server
TextBox1
Propriedade Valor
Name txtCodigo
TextBox2
Propriedade Valor
Name txtTitulo
TextBox3
Propriedade Valor
Name txtDuracao
TextBox4
Propriedade Valor
Name txtCategoria
TextBox5
Propriedade Valor
Name txtSinopse
multitline true
ScrollBars Vertical
WordWrap True
Label1
Propriedade Valor
Name lblCodigo
text Código:
Label2
Propriedade Valor
Name lblTitulo
text Título:
194
Exemplo de aplicação Visual Studio.Net com SQL Server
Label3
Propriedade Valor
Name lblDuracao
text Duração:
Label4
Propriedade Valor
Name lblCategoria
text Categoria:
Label5
Propriedade Valor
Name lblSinopse
text Sinopse:
195
Exemplo de aplicação Visual Studio.Net com SQL Server
O objeto BindingSource não é visível para o usuário, nele você deve para
configurar a conexão com o SQL Server e o Dataset, que é responsável pela
troca de dados com a tabela no BD.
196
Exemplo de aplicação Visual Studio.Net com SQL Server
Para criar uma nova conexão clique no botão New Connection. Caso já
exista alguma conexão criada no projeto é possível selecioná-la no único
menu existente na tela.
197
Exemplo de aplicação Visual Studio.Net com SQL Server
Password: senhaX
Nessa tela vamos criar o DataSet, selecione a tabela Filmes e altere o Da-
taSet Name para DsFilmes.
198
Exemplo de aplicação Visual Studio.Net com SQL Server
BS;
DsFilmes;
FilmesTableAdapter.
200
Exemplo de aplicação Visual Studio.Net com SQL Server
Name: btnSalvar;
Text: Salvar.
Me.BS.EndEdit()
Me.FilmesTableAdapter.Update(Me.DsFilmes.Filmes)
Me.FilmesTableAdapter.Fill(Me.DsFilmes.Filmes)
MessageBox.Show(“Alterações Salvas” _
, “Salvar”, MessageBoxButtons.OK _
, MessageBoxIcon.Information)
End Sub
201
Exemplo de aplicação Visual Studio.Net com SQL Server
202
Anotações