Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVO:
INTRODUÇÃO:
Um amigo meu costuma dizer que todo aplicativo tem uma única finalidade,
seja atender as necessidades de um ou mais usuários, vou deixar claro que não
implementaremos o uso da UML (Unified Modeling Language – Linguagem
Unificada de Modelagem) , pois esse não é o nosso objetivo principal, embora seja
extremamente aconselhado a modelagem e o planejamento dos sistemas, o que
certamente deixará seus aplicativos mais profissionais, porém chegaremos bem
perto disso. Identificaremos primeiramente quem serão os atores, então
“perguntaremos” para eles o que querem do nosso sistema.
1. Atores:
a) Usuários;
b) Condomínio;
c) Moradores do Condomínio;
d) Sindico;
e) Outros interessados;
f) Repositório de Informações.
2. Casos de Uso
a) Permitir que os usuários definidos, possam receber reclamações
diversas dos moradores do condomínio e outros;
b) Registrar essas informações como ocorrências;
c) Que de posse dessas informações, possa encaminhá-las ao setor
competente;
d) Que após solucionado o problema, atualizar o sistema explicitando o
fato ocorrido e a solução dada;
e) Permitir que essas ocorrências sejam consultadas posteriormente.
Vamos criar nosso Banco de Dados, abra o Visual Studio, não abra nenhum
projeto novo antes, abra a janela Server Explore e clique com o botão direito em
“Data Connections” e selecione “Create New SQL Server Databases...”.
Para criarmos uma Região, basta digitar #Region e entre aspas, o nome
da Região que queremos criar, regiões servem para melhor organizarmos nosso
código. Dentro da Região “Campos” criaremos os campos conforme existem na
nossa tabela, diferenciando-os com um _, antes da denominação de cada um,
criaremos também outros campos que forem necessários ao funcionamento de
nossa conexão, vejamos:
Quero chamar atenção para os campos de Datas e Horas, estes campos
poderiam ser declarados como Date ou DateTime, mas como não trabalharemos
com equações desses campos, achei melhor (opção minha, fique a vontade para
mudá-los conforme seu aprendizado) declará-los como string mesmo.
Observe que declaramos outra string além dos campos da tabela
Ocorrência, _Erro, essa string vai nos servir para receber as exceções que por
ventura (com certeza) ocorrerem e assim com essas informações, teremos como
tratá-las.
PROPRIEDADES
Agora vamos escrever cada uma das nossas propriedades na região das
propriedades, uma tarefa que pode ser cansativa, porém necessária, por isso é
aconselhável a reutilização de código, para evitar as muitas linhas de códigos.
FUNÇÕES
‘Command
Dim cmd As New SqlCommand
Dim myString As String
With cmd
.Connection = cnn
.CommandTimeout = 0
.CommandText = myString
.CommandType = CommandType.Text
End With
‘ Criação dos Parâmetros para cada campo da tabela que você vai
inserir um dado
Dim ParNaturezaPrimaria As New
SqlParameter("@NaturezaPrimaria", SqlDbType.NVarChar, 50)
ParNaturezaPrimaria.Value = NaturezaPrimaria
cmd.Parameters.Add(ParNaturezaPrimaria)
cmd.ExecuteNonQuery()
cnn.Close()
Catch ex As Exception
Erro.ToString()
End Try
End Function
Try
With cmd
.Connection = cnn
.CommandTimeout = 0
.CommandText = myString
.CommandType = CommandType.Text
End With
cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()
End Function
A finalidade de nossa ultima função, embora aqui eu usei uma Sub (não há
problema) é a de Carregar, ou seja trazer os dados para consulta. A partir dessa
consulta é que os dados poderão ser atualizados, como aqui vamos fazer apenas
consulta, usaremos o DataReader, que é muito eficiente para este tipo de
consulta.
With Cmd
.Connection = Cnn
.CommandTimeout = 0
.CommandText = myString
.CommandType = CommandType.Text
End With
Try
Cnn.Open()
Dre = Cmd.ExecuteReader
End While
CONSTRUINDO O FORMULÁRIO
Em Solution Explorer com o botão direito no form1 mude o nome dele para
FrmSindico.vb e clique duas vezes nele para abri-lo.
If ObjConsulta.Numero = 0 Then
MsgBox("Ocorrência Não Encontrada!",
MsgBoxStyle.Exclamation, "Síndico")
Me.TxtNaturezaPrimaria.Focus()
Exit Sub
End If
Me.OcNewOrEdit = ObjConsulta.Numero
Me.TxtNumero.Text = Format(OcNewOrEdit, "00000")
Me.TxtNaturezaPrimaria.Text =
ObjConsulta.NaturezaPrimaria
Me.TxtSolicitante.Text = ObjConsulta.Solicitante
Me.CmbAndar.Text = ObjConsulta.Andar
Me.TxtDescricao.Text = ObjConsulta.Descricao
Me.TxtFone.Text = ObjConsulta.Fone
Me.LblData.Text = ObjConsulta.Data
Me.LblHora.Text = ObjConsulta.Hora
Me.TxtEncaminhado.Text = ObjConsulta.Encaminhado
Me.TxtHistorico.Text = ObjConsulta.Historico
Me.TxtNaturezaDefinitiva.Text =
ObjConsulta.NaturezaDefinitiva
If ObjConsulta.Situacao = True Then
‘Se a ocorrência ainda não foi alterada o valor é True então a
ocorrência estará em aberto
Me.LblSituacao.Text = "OCORRÊNCIA EM ABERTO"
Me.TxtNaturezaDefinitiva.Enabled = True
Me.TxtHistorico.Enabled = True
TxtNaturezaDefinitiva.Focus()
End Sub
No botão BtnLimpar apenas colocaremos a referência a Sub LimpaCampos
que nós criaremos mais abaixo:
Sub LimpaCampos()
Me.TxtNumero.Text = ""
Me.TxtNaturezaPrimaria.Text = ""
Me.TxtSolicitante.Text = ""
Me.TxtFone.Text = ""
Me.CmbAndar.Text = ""
Me.TxtDescricao.Text = ""
Me.LblSituacao.Text = ""
Me.TxtEncaminhado.Text = ""
Me.TxtHistorico.Text = ""
Me.TxtNaturezaDefinitiva.Text = ""
Me.LblData.Text = ""
Me.LblHora.Text = ""
Me.TxtNaturezaDefinitiva.Enabled = False
Me.TxtHistorico.Enabled = False
End Sub
CONCLUSÃO
Euclides Britto
euclidesbritto@vbnetgyn.com
www.vbnetgyn.com