Jump to content
lau1993

inserir dados numa label

Recommended Posts

lau1993

Tanho um problema..

Eu tanho o seguinte código:

  ' Para visualizar as mesas reservadas ou nao á hora de que o utilizador insere na ReservaMesa de maskedtextbox1
        Const constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Claudio\Documents\Visual Studio 2010\Projects\SOFTREST-COSTA\SOFTREST-COSTA\Restauracao.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
        Dim db As New SqlConnection(constr)
        db.Open()
        Dim reader As SqlDataReader
        Dim cmd As SqlCommand
        cmd = New SqlCommand("select Nome, mesa1 from Reserva1 where Hora ='" & NãoFumadores.MaskedTextBox1.Text & "' ", db) 
        reader = cmd.ExecuteReader
        While reader.Read
            NãoFumadores.Label2.Visible = True
            NãoFumadores.Label3.Visible = True
            NãoFumadores.Label2.Text = reader.Item("Nome")
            NãoFumadores.Label3.Text = "Ocupada"
            End While

Só que este codigo vai a busar os dados todos inseridos, mas eu queria so por mesa...

Eu queria conforme o utilizador introduzissse a hora na maskedtextbox, ia ver se a mesa estava reservada ou seja ia consultar a base de dados sql, e se estive-se reservada aparecia numa label a dizer que a mesa esta reservada.

Por Favor se me podessem ajudar Agradecia muito é que eu ja andei a pesquisar e nao consigo encontrar........

Share this post


Link to post
Share on other sites
Caça

Na consulta SQL adicionas

and Mesa = Nome ou codigo da mesa


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
lau1993

ja acrescentei mas aparece-me este erro:

Conversion from string "select Nome  from Reserva1 where" to type 'Long' is not valid.

Share this post


Link to post
Share on other sites
Caça

É porque não estás a parametrizar correctamente a query.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
lau1993

Eu meti assim mas não está correcto....

[i]Const constr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Claudio\Documents\Visual Studio 2010\Projects\SOFTREST-COSTA\SOFTREST-COSTA\Restauracao.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
        Dim db As New SqlConnection(constr)
        db.Open()
        Dim reader As SqlDataReader
        Dim cmd As SqlCommand

        cmd = New SqlCommand("select Nome from Reserva1 where Hora ='" & NãoFumadores.MaskedTextBox1.Text & "'" And " mesa1='" & NãoFumadores.Mesa1.text &"'", db)
       reader = cmd.ExecuteReader
       If reader.Read Then
            NãoFumadores.Label2.Visible = True
            NãoFumadores.Livre.Visible = True
            NãoFumadores.Livre.BackColor = Color.Blue
            NãoFumadores.Label2.Text = reader.Item("Nome")

        Else
            NãoFumadores.Livre.Visible = True
            NãoFumadores.Label2.Visible = False
            NãoFumadores.Livre.BackColor = Color.LightGreen

        End If[/i]

Eu ali quando faço a condiçao if nao sei como endei chamar o Campo mesa1 a base de dados.

Porque eu ali tanho de por uma condição por causa de não ser a mesa desejada....

Acho que a condição tem de ser assim:

if mesa1 = 1 then

......

else

...

end If

Só que eu ali na mesa1 não sei como a posso chama-la a base de dados...

Share this post


Link to post
Share on other sites
lau1993

Porque o meu projecto de restaurante tem 12 mesas...

Antes dde fazer a reserva o utilizador escolhe a mesa de 1 a 12 e depois entao é que faz a sua reserva e depois eu ao consultar consuante a hora vai aparecer a reserva na mesa desejada.

Imagina que a pessoa escolhe a mesa 1 para reservar para as 20 horas . Depois aparece outro cliente para reservar tambem para as 20 Horas, só que não pode escolher a mesa 1 porque já foi reservada para aquela pessoa..

Share this post


Link to post
Share on other sites
Caça

Assim da-te mais trabalho :P

Então fazes uma consulta à base de dados em que o campo da respectiva mesa não está vazio numa determinada hora

Se te devolver dados, é porque já existe uma reserva com a mesa e hora seleccionadas, se não devolver dados é porque ainda não está reservada


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
lau1993

Sabia-me dizer como faço para usar uma condição na ligação a base de dados....

Por exemplo o campo mesa esta na base de dados.

if o campo mesa for Igual a 1 then

.....

else if o campo mesa for igual a 2 then

...

else

...

end if

Sabe-me dizer como faço Para chamar o campo mesa a base de dados....

Se me pode-se ajudar agradecia..

Share this post


Link to post
Share on other sites
lau1993

Hora      Nome        Mesa

19:00    Claudio        1

20:00      Joao            2

Share this post


Link to post
Share on other sites
lau1993

A mesa na base de dados corresponde da 1, 2,3,4,etcc

Neste caso a reserva foi feita para as 14 horas onde escolheu a mesa 1.

Agora quero que me apareça na mesa1 o Nome da reserva, consoante o utilizador introduzir a hora.

por exemplo:

O cliente introduz a mesa que deseja reservar.

O cliente introduz o Nome que quer dar a sua Reserva.

O cliente Introduz A hora em que deseja a mesa reservada.

O cliente faz a reserva da mesa e vai para a base de dados.

queria enviar o Nome da reserva para uma label.

Depois queria ao abrir o form se fosse 14 horas me aparece na mesa1 o Nome da reserva enum label a dizer ocupada.

Se nao  mesa livre e podia fazer a reserva.

Share this post


Link to post
Share on other sites
Caça

Para isso tens de ter uma Data/Hora de inicio da reserva e uma Data/Hora de fim, para fazer uma consulta entre Datas/Horas

Depois disso

SELECT Nome FROM RESERVAS WHERE INI > 'HInicio' AND FIM < 'HFim' AND MESA = NºMesa

Se te for devolvido um registo colocas o campo Nome numa label e dizes que a mesa está ocupada

Se não for devolvido nenhum registo é porque a mesa está livre


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Tens que ter os campos Inicio e Fim do tipo Datetime


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
lau1993

Tanho um pequeno problema...

queria ao abrir o form logo me amostrar os dados da base de dados sem clicar em nenhum button.

Share this post


Link to post
Share on other sites
lau1993

desculpe mas nao percebi....

Podia explicar melhor se fezer o favor...

Mas o que eu queria era com dados da base de dados sql...

Share this post


Link to post
Share on other sites
Caça

No evento Load da Form, o código que te aparece quando dás duplo clique na form


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.