sábado, 11 de janeiro de 2014

VB-NET - SQL

Rotina para verificar se um registo existe na base de dados.


    Private Function existe(pesquisa As String) As Boolean
        conn.Open()
        Dim sql As String = "Select * from [Dados].[dbo].[tabela]
 Where nome='" & pesquisa 

        Dim cmd As New SqlCommand(sql, conn)
        Dim leitura As SqlDataReader
        leitura = cmd.ExecuteReader
        Return leitura.HasRows
        conn.Close()
    End Function


sexta-feira, 24 de maio de 2013

Control Time (Hours and Minutes)
Controlo de horas e minutos


Este lindo controlo para seleccionar horas e minutos.
Composto por uma textbox e quatro botões.

Querem saber como fazer? (envia-me uma mensagem)
Quero receber o teu "feedback"...
 

terça-feira, 23 de abril de 2013

Continuação de my-fyireporting...


Vamos conhecer mais um pouco desta fabulosa ferramenta. Para quem usa uma versão express do VS.Net não tem o datareports ou não possa ou não queira usar outras ferramentas como o sql reporting services (existem mais), mas o fyireporting é uma excelente alternativa.

 Podemos inserir caixas de texto, etiquetas, rectângulos,linhas, listas, grelhas, imagens, sub-relatórios, tabelas, gráficos, etc.

Neste artigo vamos aprender a usar mais do que um dataset e mais do que uma datasource.
No menu Data, temos Data Sets onde são visualizados os datasets já criados ou podemos adicionar novos (new...)
- Data Sources a nossa fonte de dados (podemos criar várias).


(As abas da nossa ferramenta: Designer, RDL Text e Preview)


 No botão "Add" - Adicionar nova data source, nome DS2
Neste caso vamos escolher em Data provider uma conecxão XML.
 E em baixo colocamos a nossa connection string


Vamos então criar uma nova tabela:

Criamos a nova tabela (escolhemos o DataSet, os campos,...)

Uma nova etiqueta


Inserimos uma nova tabela.

domingo, 21 de abril de 2013


 Breve introdução ao my-fyireporting


FyiReporting sem relatórios (vazio)
 

Novo relatório
  

Conexão a base de dados
Seleccionamos o tipo de base de dados
Abrimos a conexão, neste caso uma conexão Sqlite

 Escolhemos a tabela ou criamos a nossa instrução SQL

Pré-Visualização do nosso relatório.



 Até ao próximo artigo, onde vamos falar dos datasource e datasets.

http://portugalvbnet.blogspot.pt/2013/04/continuacao-de-my-fyireporting.html









terça-feira, 3 de abril de 2012

Colorir linha em controlo ListBox

Como pintar linhas em um control ListBox? (VB.NET 2010)

Primeiro temos que definir a propriedade DrawMode para DrawMode.OwnerDrawFixed, para que seja disparado o evento DrawItem.


E no evento escrevemos:
Vou chamar ao control ListBox de Lista
  Private Sub Lista_DrawItem(sender As Object, e As System.Windows.Forms.DrawItemEventArgs) Handles Lista.DrawItem

        Dim cor As Brush = Brushes.Black

        If e.Index = 5 Then 'Por exemplo colorir a linha 5 de uma cor diferente.
            cor = Brushes.Blue
        End If

        e.DrawBackground()

        Dim mybrush As Brush = Brushes.Beige
        e.Graphics.FillRectangle(mybrush, e.Bounds)
        If (e.Index > -1) Then
            e.Graphics.DrawString(Lista.Items(e.Index).ToString, e.Font, cor, e.Bounds)
        End If
        e.DrawFocusRectangle()

    End Sub

terça-feira, 27 de março de 2012

Ficheiros XML

XML (Extensible Markup Language) é um formato organizado de dados.

Neste artigo vou mostrar de uma forma simples, como escrever, ler, alterar e eliminar dados nestes ficheiros.
Estrutura de ficheiro xml, deve existir sempre um elemento principal (root tag) e os elementos secundários.


<?xml version="1.0" encoding="utf-8"?>
<!--Lista de Compras-->
<Compras>
  <Vegetais>
    <Vegetal1>Couves</Vegetal1>
    <Vegetal2>Alfaces</Vegetal2>
    <Vegetal3>Espinafre</Vegetal3>
  </Vegetais>
  <Frutos>
    <Fruto1>Maça</Fruto1>
    <Fruto2>Banana</Fruto2>
    <Fruto1>Laranja</Fruto1>
    <Fruto2>Cereja</Fruto2>
  </Frutos>
</Compras>

- Criar
' Cria um novo ficheiro XML com a codificação UTF8
Dim xmlw As New XmlTextWriter(Environment.CurrentDirectory & "\MyXML.xml", System.Text.Encoding.UTF8)
        xmlw.Formatting = Formatting.Indented
        xmlw.WriteStartDocument()
        ' Adiciona um comentário geral
        xmlw.WriteComment("Lista de Compras")
        ' Criar um elemento geral
        xmlw.WriteStartElement("Compras")
        ' Criar o elemento "Vegetais" e alguns dados
        With xmlw
            .WriteStartElement("Vegetais")
            .WriteElementString("Vegetal1", "Couves")
            .WriteElementString("Vegetal2", "Alfaces")
            .WriteElementString("Vegetal3", "Espinafre")
            .WriteEndElement()
        End With
        ' Criar o elemento "Frutos" e alguns dados
        With xmlw
            .WriteStartElement("Frutos")
            .WriteElementString("Fruto1", "Maça")
            .WriteElementString("Fruto2", "Banana")
            .WriteElementString("Fruto1", "Laranja")
            .WriteElementString("Fruto2", "Cereja")

            .WriteEndElement()
        End With
        xmlw.WriteEndElement()
        xmlw.WriteEndDocument()
        ' Fecha o documento XML
        xmlw.Flush()
        xmlw.Close()
- Fim Criar

Para ler um elemento
 xml.Load(Environment.CurrentDirectory & "\MyXML.xml") 'Pegar nomes para as colunas do DGV_SEL
Dim s As String = xml.DocumentElement.GetElementsByTagName("Vegetal1").Item(0).InnerText
MsgBox(s)

Para modificar um elemento

 'Para alterar valores
        Dim xDoc As New XmlDocument : xDoc.Load(Environment.CurrentDirectory & "\MyXML.xml")
        Dim nodelist As Xml.XmlNodeList
        nodelist = xDoc.GetElementsByTagName("Vegetal1")
        nodelist.Item(0).InnerText = "1"

        xDoc.Save(Environment.CurrentDirectory & "\MyXML.xml")


E por ultimo apagar um elemento
        Dim xmlFile = XDocument.Load(Environment.CurrentDirectory & "\MyXML.xml")
        xmlFile...<Numeros>.Remove() 'Remove um elemento geral (por completo)
        xmlFile...<N1>.Remove() 'Remove um único elemento
        xmlFile.Save(Environment.CurrentDirectory & "\MyXML.xml")

Neste artigo pretendo demonstrar como trabalhar com ficheiros xml de uma forma simples.
Até breve...

quarta-feira, 14 de março de 2012

SQLite (continuação)

Finalizando o artigo anterior, vamos então editar ou  eliminar o registo da nossa tabela.

Recorrendo ao uso do SQL

Para actualizar usamos o UPDATE

 Dim sql As String = "UPDATE contactos SET telefone='999000999' WHERE nome='João'"
 Dim cmd As New SqLiteCommand(sql, connection)
 cmd.ExecuteNonQuery()

Para eliminar usamos DELETE
 Dim sql As String = "DELETE FROM contactos WHERE nome='João';"
 Dim cmd As New SqLiteCommand(sql, connection)
 cmd.ExecuteNonQuery()