Jump to content
oliveira1991

Verificar dado na Base de Dados

Recommended Posts

oliveira1991

Boas pessoal, estou a fazer um navegador, e queria que me ajudassem numa parte do programa, por exemplo existem alguns sites que o utilizador que ver bloqueados, e estes estão guardados na base de dados na tabela restrições, e queria saber se é possível haver um comando SQL que veja se esse site está na base de dados e não deixar utilizar esse site isso é possível, dei-me ideais por favor!


Live for ever

Share this post


Link to post
Share on other sites
big_dady

Claro que existe muito simples

Fazes uma consulta para verificar se o site inserido pelo user está na lista de sites bloqueados.

Caso estiver bloqueias a navegação.

Caso n estiver continua ;)

Simples.

Agora queres o código ?

SQL - SELECT CAMPO FROM TABELA_RESTRICOES WHERE CAMPO="LINK INSERIDO PELO USER"

Isto tudo num IF

Good Luck !

EDIT:

Mas para o navegador ser muito mais rapido podes fazer através de ficheiros binarios ou DAT.


Yours, Bid_dady

Share this post


Link to post
Share on other sites
big_dady

Procura na secção Vb.net do Wiki do Forum.

mas é simples

dim sql as string
dim cmd as oledb.oledbcommand
dim link as string ' aqui fica o link que queres procurar

sql="Select [NomeCampo] From [NomeTabela] Where [NomeCampoAComparar]=" & link
cmd = new oledb.oledbcommand(sql,ligacaobd)

if cmd.executescalar = "" then
'não esta bloqueado
else
'esta bloqueado

'depois no if tens que colocar as acções que desejas.


Yours, Bid_dady

Share this post


Link to post
Share on other sites
oliveira1991

eu fiz assim mas dá-me erro!

o que está mal?

Dim SqlCommandVerifica As New SqlCommand()
        SqlCommandVerifica.Connection = conn
        SqlCommandVerifica.CommandText = "SELECT * FROM Restricao WHERE Site = '" & ToolStripComboBox1.Text & "'"
        Dim SqlReader As SqlDataReader = SqlCommandVerifica.ExecuteReader()
        If (SqlReader.Read() = True) Then
            TabControl1.Hide()
        End If


Live for ever

Share this post


Link to post
Share on other sites
big_dady

faz o seguinte nao retornes para um reader.

retorna para uma variavel apenas um campo.

de pois verificas o que é retornado para essa mesma variavel.


Yours, Bid_dady

Share this post


Link to post
Share on other sites
oliveira1991

boas consegui fazer com este codigo abaixo, mas tem um erro sempre que eu insiro outro site ele dá-me a mesma mensagem podem ajudar?

Dim SqlCommandVerifica As New SqlCommand()
        SqlCommandVerifica.Connection = conn
        SqlCommandVerifica.CommandText = "SELECT * FROM Restricao WHERE Site = '" & ToolStripComboBox1.Text & "'"
        Dim botaosimnão As DialogResult
        botaosimnão = MessageBox.Show("Erro deseja voltar atras", "erro", MessageBoxButtons.YesNo)
        If botaosimnão = Windows.Forms.DialogResult.Yes Then
            CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).GoBack()
        Else
            CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.HomePage)
        End If


Live for ever

Share this post


Link to post
Share on other sites
big_dady

estas sempre a chamar a msgbox ..

tens que meter isso num IF.

senão ele chama sempre a msg box para dar value à variavel.


Yours, Bid_dady

Share this post


Link to post
Share on other sites
oliveira1991

ja fiz de tudo e ainda não sei como contruir o IF!

Podes ajudar?


Live for ever

Share this post


Link to post
Share on other sites
bioshock

Não estás a apanhar valores nenhuns..

Dim query As String = "SELECT Site FROM Restricao WHERE Site = '" & ToolStripComboBox1.Text & "'"

Dim DataAdapter As New SqlDataAdapter(query, connection)
Dim DSet As New DataSet 
DataAdapter.Fill(DSet, "Restricao")

If DSet.Tables(0).Rows(0).Item(0).ToString <> Nothing Then
   MsgBox("This website is locked")
   CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.HomePage)
End If

Resumindo: caso o website esteja na base de dados, estará desde logo blockeado, portanto redireccionas o indivíduo para a homepage, caso o website não esteja na base de dados simplesmente deixas-o navegar livremente.

Share this post


Link to post
Share on other sites
oliveira1991

Deu-me o seguinte Erro:

The data types text and varchar are incompatible in the equal to operator.


Live for ever

Share this post


Link to post
Share on other sites
bioshock
Dim query As String = "SELECT Site FROM Restricao WHERE Site = @Site"

Dim command As New SqlCommand(query, connection)
command.Parameters.Add("@Site", SqlDbType.VarChar).Value = ToolStripComboBox1.Text 

Dim DataAdapter As New SqlDataAdapter(command)
Dim DSet As New DataSet 
DataAdapter.Fill(DSet, "Restricao")

If DSet.Tables(0).Rows(0).Item(0).ToString <> Nothing Then
   MsgBox("This website is locked")
   CType(TabControl1.SelectedTab.Controls.Item(0), WebBrowser).Navigate(My.Settings.HomePage)
End If

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.