Jump to content

Recommended Posts

Posted

Boa Tarde

Neste momento estou a realizar a minha PAP, vou passar desde já a explicar o objectivo da PAP e as dúvidas que tenho.

A PAP consiste em criar uma página de registo, login, após isso o utilizador cria 1 sua equipa, depois escolhe os jogadores para a sua equipa, aí é que tenho algumas dúvidas...

Apresento a lista de jogadores com uma DataGridView, e apartir daí queria que os utilizadores comprassem os jogadores, sei que é através do Select da Grid, mas não sei como, será que alguem me pode ajudar?

E o login, só entra se os dados estiverem na BD, mas ao entrar na conta, aquilo não guarda os dados pessoais nem nada, tipo, ao entrar na própria conta ir logo para o Plantel desse utilizador, e já agora, após comprar os jogadores, é descontado dinheiro do orçamento, como faço isso também.

Cumps e Obrigado

Se precisarem de mais alguma informação avisem sff

Posted

Apresento a lista de jogadores com uma DataGridView, e apartir daí queria que os utilizadores comprassem os jogadores, sei que é através do Select da Grid, mas não sei como, será que alguem me pode ajudar?

consegue isso com o evento «CellMouseClick» do Datagridviem, provavelmente terá que ter uma tabela auxiliar para fazer referencia ao utilizador e jogador, para depois filtrar a consulta pelo id do utilizador. é idêntico a actualizar dados utilizando o datagrid para visualizar.

veja aqui um exemplo em basedados acess.

http://www.portugal-a-programar.pt/topic/59934-update-sql/

ps: deveria ter colocado o seu post em vb.net

cumps

acao

Posted

Boas

E o login, por exemplo como faço para fazer login e ao fazer login passar a informação do utilizador para os restantes forms.

Tipo, 1 utilizador faz login, e ficar no perfil dele, ja tive a pesquisar e não encontro nada.

Acho que é a declarar variaveis no puublic não é?

será que me pode ajudar com isso?

Cumps

PS: Vou ver o teu link acao, cumps bgd

Posted

Valá pessoal , preciso mesmo de ajuda, o login já procurei horas e horas e não encontro nada de concreto, quando ao update de um "user" da grid view, n entendi mto bem o link que me puseram aqui,vou explicar exactamente o que quero fazer.

1 - Form de Registo(já criado)

2- Form de Login( que guarde as informações da conta nos outros forms)

3 - criar equipa( "insert" já criado)

4- escolher os jogadores ( com uma data grid view, ao carregar na linha do jogador que quero comprar, isto ir para um form de compra, onde manda para la os dados, depois com 1 botão para adicionar o jogador á equipa do utilizador logado, através do ID do user)

E depois vai ter mais funcionalidades, tais como o Ranking de pontuações, etc, mas isso penso que é simples.

o que me está a dar problemas é mesmo o login

cumps

Posted (edited)

boas

no form login eu faria +- assim:

1. select à basedados a verificar se o « username » ou username e pass existem na basedados.

2. se não existem sai do sub para nova tentativa, se existem então grava o username numa variável publica e de seguiga redimensiona para o form ex: jogadores,(formjogadores.show) e no evento load do form jogadores carregar todas as informações para esse username.

que seria assim: "select * from jogadores Where username = variavelPublica.

tente fazer alguma coisa e amostre código.

cumps

acao

Edited by acao
Posted

boas

um exemplo de pesquisar com basedados acess, se for diferente a basedados é so alterar a ligação.

Private Sub cmdPesquisarEditar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPesquisarEditar.Click
    Call LimparDados()
    Dim queryPesqUltimoRelAgua As String
    Dim ConnectPesqUltimoRelAgua As New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=D:\BaseDados\GestaoConsumiveis.accdb;Jet OLEDB:Database Password= " & vCodDB & ";")
    queryPesqUltimoRelAgua = "SELECT * FROM Agua WHERE IDAgua = (select max(IDAgua) from Agua); "
    Dim DAdapterPesqUltimoRelAgua As New OleDbDataAdapter(queryPesqUltimoRelAgua, ConnectPesqUltimoRelAgua)
    Dim MyDataPesqUltimoRelAgua As New DataSet
    DAdapterPesqUltimoRelAgua.Fill(MyDataPesqUltimoRelAgua, "Agua")
    vPesqUltimoRelAgua = MyDataPesqUltimoRelAgua.Tables("Agua").Rows.Count()
    Try
	    If vPesqUltimoRelAgua > 0 Then
		    vcodIDAgua = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(0)
		    txtContagemAgua.Text = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(1)
		    vContagemAguaRegAgua = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(1)
		    lblConsumoAgua.Text = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(2)
		    lblDataHoraRegAgua.Text = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(3)
		    cmdPesquisarEditar.Visible = False
		    cmdGravar.Visible = False
		    ToolStripButton1.Enabled = False
		    cmdActualizar.Visible = True
		    vInclusaoRegAgua = False
	    End If
    Catch ex As Exception
	    MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
    DAdapterPesqUltimoRelAgua = Nothing
    ConnectPesqUltimoRelAgua.Close()
    ConnectPesqUltimoRelAgua = Nothing
   End Sub

se verificar aqui:

vcodIDAgua = MyDataPesqUltimoRelAgua.Tables("Agua").Rows(0).Item(0)

estou a passar o valor codId para a variável

cumps

acao

Posted (edited)
Imports System.Data.OleDb

Imports System.Data

Imports System.Data.Odbc

Imports System.Data.DataTable

Module login

Public variavel As String

End Module

Public Class frmlogin

Dim CN As New OleDbConnection()

Dim DA As New OleDbDataAdapter()

Dim DS As New DataSet()

Dim tables As DataTableCollection = DS.Tables

Public dr As OleDbDataReader

Private Sub frmlogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the 'PapDataSet.Jogadores' table. You can move, or remove it, as needed.

Me.JogadoresTableAdapter.Fill(Me.PapDataSet.Jogadores)

'TODO: This line of code loads data into the 'PapDataSet.Conta' table. You can move, or remove it, as needed.

Me.ContaTableAdapter.Fill(Me.PapDataSet.Conta)

login.variavel = 1

CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\PAP\pap.mdb"

CN.Open()

DA = New OleDbDataAdapter("SELECT * FROM [conta]", CN)

DA.Fill(DS, "conta")

CN.Close()

End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles utilizadortextbox.TextChanged

End Sub

Private Sub TextBox1_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim strSenha As String = Me.passwordtextbox.Text

Dim cont As Integer

CN.Open()

Dim str As String

str = "SELECT * from conta where (Utilizador= '" & utilizadortextbox.Text & "' and Password= '" & passwordtextbox.Text & "')"

Dim cmd As OleDbCommand = New OleDbCommand(str, CN)

dr = cmd.ExecuteReader

While dr.Read

cont = cont + 1

End While

If cont = 0 Then

MsgBox("Este utilizador ou esta password estão errados")

utilizadortextbox.Focus()

Else

MsgBox("Bem Vindo/a " & utilizadortextbox.Text)

Me.Hide()

criar_equipa.Show()

End If

CN.Close()

esse é o meu form do login, vejam se a variavel publica está bem declarada...

PS: como meto o codigo como voces metem aqui? cumps

Edited by fantasticleague
Posted (edited)

Quanto ás variaveis publicas, já consigo meter:

CLASS

Public Class Class1
Public Sub user()
 login.user = ("")
End Sub
Public Sub pass()
 login.pass = ("")
End Sub
End Class

MODULO

Public user As String
Public pass As String

BOTAO em carrego para aparecer o resultado num msg box.

Dim user As New Class1
 user.user()
 MessageBox.Show(" O site é : " & login.user, "Resposta", MessageBoxButtons.OK)

o codigo que eu aki tenho faz com que os valores que defini No Class, apareçam em qualquer form, mas não é isto que eu quero fazer, eu quero que apareça o que escrevi na textbox do login, é mesmo necessário criar Class para fazer, o que escrevo No Nome de User, aparecer numa Label em outro form..

CUmps

Edited by fantasticleague
Posted (edited)

boas

não, não é necessário classes, conforme tu tinhas no inicio resolve, embora eu adicionasse um modulo ao projecto e colocasse lá a variável.

para verificares se funciona se tem o valor desejado é so colocares um breakpoints na linha aonde adicionaste o valor á variável e outro na linha seguinte, correr o programa que ele para lá e depois passar com o rato emcima da variável e F5 para continuar a correr o programa.

no form login não necessitas de carregar os jogadores, isso tem que ser carregado no form aonde os jogadores são necessários aqui népia.

em meu ver o jogador que efectua o login deveria ser direcionado para um form principal aonde carregasse todo o seu perfil, exemplo: senão tem equipa mostrar o botão de escolher a equipa, etc, se já tem equipa mostrar logo para poder jogar ou alterar a equipa.

penso que conforme está direcionar apenas para criarequipa ou efectuar o registo, não será a melhor opção. o registo até deveria ser uma opção no login, ter lá um botão para quem não tem registo efectuar, para depois fazer o login.

para o valor aparecer na label é so fazer:

nomeLabel.text = NomevariavelPublica

novos post será melhor colocar na secção vb.net

cumps

acao

Edited by acao
Posted (edited)

Porque não está a dar? :S

Module login
Public user As String
End Module

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 Dim cont As Integer
 CN.Open()
 Dim str As String
 str = "SELECT * from conta where (Utilizador= '" & utilizadortextbox.Text & "' and Password= '" & passwordtextbox.Text & "')"
 Dim cmd As OleDbCommand = New OleDbCommand(str, CN)
 dr = cmd.ExecuteReader
 While dr.Read
	 cont = cont + 1
 End While
 If cont = 0 Then
	 MsgBox("Este utilizador ou esta password estão errados")
	 utilizadortextbox.Focus()
 Else
	 MsgBox("Bem Vindo/a " & utilizadortextbox.Text)
	 user = utilizadortextbox.Text
	 Me.Hide()
	 Escolher_jogadores.Show()
 End If
 CN.Close()

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
 Label1.Text = user
End Sub
End Class

EDIT: já consegui meter a funcionar, a aparecer noutro form numa label o que escrevi na text box do user, eu estava a meter o "Label1.Text = user" na label 😕 , em vez de ser no form load do escolher jogadores.

PS: acao não ligues ás ligações e para onde vai os botoes, isso vai ser tudo remodulado depois, como meto a aparecer o perfil do user que faz login? e como meto caso ele tenha equipa ir para o plantel e caso não tenha ir para o form Escolher Jogadores?

e caso tenha tempo se quiser fazer e chat, já estive a ver, este component Microsoft Winsock Control( vi aqui num post

https://www.portugal-a-programar.pt/topic/43103-criar-chat/

), no VB10 como faço? n tem esse component :S

E muito obrigado, e desculpa a noobalhice 😛

Cumps

Edited by fantasticleague
Posted
Em 21/04/2013 às 15:41, fantasticleague disse:

como meto a aparecer o perfil do user que faz login? e como meto caso ele tenha equipa ir para o plantel

não sei a sua definição de perfil, mas seja perfil ou plantel será feita com uma consulta à basedados e filtrado pelo campo user.

para conseguir estes dados terá que ter tabelas relacionadas.

Em 21/04/2013 às 15:41, fantasticleague disse:

e caso não tenha ir para o form Escolher Jogadores?

isto é feito na consulta à basedados, seguindo o exemplo do post nº9 veja:

vPesqUltimoRelAgua = MyDataPesqUltimoRelAgua.Tables("Agua").Rows.Count()
		Try
				If vPesqUltimoRelAgua > 0 Then

aqui estamos a verificar se existem registos , mas poderiamos ter feito assim :

If MyDataPesqUltimoRelAgua.Tables("Agua").Rows.Count() > 0 Then 'se tem registo
	  Me.grdView.DataSource = MyDataPesqUltimoRelAgua.Tables("Agua")
	  'carrega o planter
Else
	 FormJogadores.Show
	 'ou então colocar o botão visivel «cmdAdicionarJogadores.Visible = true» isto significa que o botao estaria não visivel
End If

consulte também a pagina WiKi que tem bons exemplos

https://wiki.portugal-a-programar.pt/dev_net/vb.net/

Em 21/04/2013 às 15:41, fantasticleague disse:

e caso tenha tempo se quiser fazer e chat, já estive a ver, este component Microsoft Winsock Control( vi aqui num post http://www.portugal-a-programar.pt/topic/43103-criar-chat/), no VB10 como faço? n tem esse component :S

referente a isto coloque post em vb.net

Posted

como faço a consulta e em que sitio?

e a seguir, o que é isto "vPesqUltimoRelAgua" é o nome da grid view?

AS tabelas que tenho são:

Conta - Tabela do Login(users)

Jogadores - Tabela dos jogadores

Equipas - Tabela das equipas criadas pelos users

e a Tabela Relações.

A tabela relaçoes tem os campos Utilizador e Equipa, que liga á equipa das Tabelas "Jogadores" e "Equipas" e o Utilizador liga á tabela conta.

estão bem feitas as relações?

isto é feito na consulta à basedados, seguindo o exemplo do post nº9 veja:

Qual é o post 9?

cumps

Posted

como faço a consulta e em que sitio?

a consulta deve ser feita como fizeste no login , o sitio deves ser tu a decidires mas talvez no evento load do form

e a seguir, o que é isto "vPesqUltimoRelAgua" é o nome da grid view?

é uma variável para obter a quantidade de registo, para poder gerir a informação se tenho registos ou não.

AS tabelas que tenho são:

Conta - Tabela do Login(users)

Jogadores - Tabela dos jogadores

Equipas - Tabela das equipas criadas pelos users

e a Tabela Relações.

tabela relação que eu saiba não existem, o que existe é uma tela aonde se gere as relações de todas as tabelas.

sugiro que leia os seguintes links, ou faça F1 na basedados access.

http://support.microsoft.com/kb/304466/PT

http://office.microsoft.com/pt-br/access-help/criar-editar-ou-excluir-uma-relacao-HA010072597.aspx

http://office.microsoft.com/pt-br/access-help/guia-para-relacoes-de-tabelas-HA010120534.aspx

Qual é o post 9?

este é o 17 o nove sera por aí mais acima.

cumps

acao

Posted

è esse o codigo para selecionar?

e como faço para selecionar apenas os jogadores que não teem equipa? e para selecionar os jogadores da equipa do user que fizer login.

Private Sub frmlogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'PapDataSet.Conta' table. You can move, or remove it, as needed.
    Me.ContaTableAdapter.Fill(Me.PapDataSet.Conta)
    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\PAP\pap.mdb"
    CN.Open()
    DA = New OleDbDataAdapter("SELECT * FROM [conta]", CN)
    DA.Fill(DS, "conta")
    CN.Close()

AS relações estão bem feitas?

http://img706.imageshack.us/img706/3362/screenhunter15apr231108.jpg

Agora no form do login e do registo está-me a dar erro, porque não estou a usar os campos que criei para fazer a relação:

http://img43.imageshack.us/img43/8633/screenhunter15apr231107.jpg

preciso disto feito até dia 4 de Maio :S eu percebia disto, mas tive 1 ano sem mexer nisto ui uii :S

Posted

boas

a tabela conta e jogadores não necessita o campo equipa.

a tabela jogadores não tem chave primaria.

deve ter mais uma tabela que é aonde coloca/compra os jogadores, essa tabela terá que ter a chave estrangeira da tabela equipas e jogadores.

é aqui que relaciona os jogadores com cada equipa.

a tabela jogadores deve ter um campo sim/não para indicar se os jogadores fazem parte de uma equipa.

preciso disto feito até dia 4 de Maio :S eu percebia disto, mas tive 1 ano sem mexer nisto ui uii :S

se tem até esta data vai ter muitas dificuldades em terminar a sua PAP.

sugiro que coloque questões na secção vb.net para ser mais pessoal a judar.

Posted

As tabelas conta e jogadores não precisam de campo equipa?como relaciono depois as tabelas, e a tabela jogadores tem de ter chave primaria?

A tabela da compra dos jogadores tambem tem de estar relacionada com a conta, para saber a que user a equipa pertence.

E na tabela jogadores o campo Equipa não é que melhor que o campo Sim/Nao?

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.