ASP.NET Ajuda!

ng04

Power Member
Olá.

Estou a usar o Visual Web Developer (ASP.NET VB) e estou a tentar criar uma espécie de simulador.

Criei uma base de dados e umas textboxes. O que eu quero fazer é que quando eu clicar no botão "OK", o site me mostre um resultado da base de dados.

Aqui vai o que quero fazer:

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If TextBox1.Text < 23 And TextBox2.Text < 10 Then
'Aqui quero pôr o código que faz isto mostrar um campo ou linha da minha base de dados


Será que alguém me consegue ajudar?
 
expecificate melhor , o que vais escrever nessas caixas de texto, se queres que ele na pagina mostre o reultado de uma conta, ou se de verificasão de loguin, ou de outra qualqer coisa , expecifica o caso.
 
O que quero, é q conforme os valores que eu ponha nas várias TextBoxes, aquilo me devolva uma linha e/ou valor que esteja na minha base de dados.

Queria fazer uma coisa do género:

if
textbox.text < 10 And textbox2.text < 20
then
devolve linha da BD com ID=1

if
textbox.text > 10 And textbox2.text > 20
then
devolve linha da BD com ID=2



...e por aí fora.

Isto deve ser teoricamente básico (por exemplo em C++ é), mas estou-me a iniciar nisto não estou a ver como posso obter os resultados da BD.

Já fui ao site que o SoundSurfer me arranjou (obrigado!) e mesmo assim surge-me sempre algum erro, devo estar a fazer alguma coisa mal relacionada com a BD.


Se por acaso conheceres algum site com coisas deste género já feitas que eu possa sacar para ver como é, diz aí, sff. Já saquei coisas do MSDN e não cheguei a nenhuma conclusão.
 
boas,

agora pergunto-te uma coisa isso são só 2 if's? é que for eu tenho a soluçao, sa nao for tambem nao ha problema se ja tas familiarizado com o vb.net consegues adaptar como quiseres.

tenho tambem de saber se estas a conectar a uma base de dados em SQL ou em Access.
Se trabalhares com access, tenho a soluçao, se nao procuras um pouco no google por ADO.NET SQL connection ou entao vais ao VBCode.com ou 4Guysfromrolla e la tens a soluçao de certeza.
tambem depende se keres apresentar o resultado numa string/texbox/layer ou numa tabela porque o codigo deferencia (nao muito mas diferencia).
 
Não, penso que serão precisos mais de dois If's.

Estou a conectar a uma base de dados em SQL.

Quanto à forma de apresentar o resultado é-me um bocado indiferente, mas poderia numa TextBox à vontade.


Eu já andei a ler uma coisas e cheguei a fazer este código meio copiado, meio feito por mim, portanto há coisas no código que fiz que não entendo bem. Mas aqui vai:


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
If TextBox1.Text < 23 And TextBox2.Text < 10 Then


Dim sql As New StringBuilder
sql.Append("SELECT [Valor]")
sql.Append("FROM [TblValor]")
sql.Append("WHERE [ID_valor] = 1")

Dim conn As New SqlConnection(conexao)
Dim cmd As New SqlCommand(sql.ToString(), conn)
conn.Open()

lblTabela.Text = String.Format("Valor do pedido (by Scalar): {0:n2}", cmd.ExecuteScalar())
conn.Close()


End If
End Sub





Quanto aos erros que me aparecem, são estes:

Type 'SqlConnection' is not defined.
Type 'SqlCommand' is not defined.
Name 'conexao' is not declared.
Type 'SqlCommand' is not defined.



Já cheguei à conclusão que o problema está em qualquer coisa dos Imports. Mas mesmo assim não consegui resolver isto.

Se tu ou alguém me conseguisse ajudar, ficava muito agradecido.
 
Podes-me explicar como declaro isso? :S

Entretanto andei a fazer outras coisas, mas agora estou de novo bloqueado com isto. Se me puderes ajudar...
 
Para a string de conexao:

Dim conexao as string = "
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;", onde:

data source é o teu servidor, que neste caso penso que será : localhost
initial catalog é a base de dados que vais usar
user id é o teu utilizador de login na base de dados, deves ter criado um quando fizeste a base de dados e respectiva password no campo password


agora em relação aos restantes erros:

Type 'SqlConnection' is not defined.
Type 'SqlCommand' is not defined.
(...)

Type 'SqlCommand' is not defined.

estes significam que falta meteres esta linha no topo da pagina .vb fora da class criada por defeito. deve ficar algo assim:

Imports System.data.sqlclient - penso que seja mais ou menos isto mas no VS ele apresenta as varias opções e devera pelo menos terminar com o Sqlclient

Espero que isto te ajude no teu problema.

Cumps,

Khrono
 
<%@ Page Language="VB" debug="true" %>
<%@ Import Namespace="System.Data.sqlclient" %>

poe isto no topo de tudo na pagina .aspx

Imports System.data.sqlclient - penso que seja mais ou menos isto mas no VS ele apresenta as varias opções e devera pelo menos terminar com o Sqlclient

Khrono - 1º VS?
2º ele nao esta a trabalhar com paginas de codigo separadas do tipo .aspx.vb ele ta a por o codigo na propria pagina .
 
Última edição:
Muito obrigado aos dois, já consegui resolver os problemas que me apareciam. :)

Mas... como sempre nestas coisas, apareceu-me outro erro. Desta vez foi:

Name 'sql' is not declared.


O erro aponta para onde eu pus a vermelho.
Código:
    Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
        Dim conn As New Data.SqlClient.SqlConnection()
        Dim cmd As New SqlCommand([B][COLOR=Red]sql[/COLOR][/B].ToString(), conn)
        conn.Open()
    End Sub
Ou seja, mais um problema de falta/ou má declaração.

Sabem como posso declarar isto?


Já agora... algumas destas perguntas podem parecer parvas e/ou básicas, mas é que eu estive a aprender isto através de tutoriais já que tenho alguma "pressa" em fazer isto, e algum código copiei, portanto há várias coisas que não percebo o que estão aí a fazer exactamente. Mas pronto, eu sei o que é declarar e tenho grande parte das noções por de trás disso, quer na parte de programação quer na de bases de dados, embora possa parecer, também não sou 100% burro nestas coisas. :D
 
tem de ficar assim:

Código:
    Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
            Dim sql As New StringBuilder
            sql.Append("SELECT [Valor]")
            sql.Append("FROM [TblValor]")
            sql.Append("WHERE [ID_valor] = 1")        
            Dim conn As New Data.SqlClient.SqlConnection()
        Dim cmd As New SqlCommand([COLOR=White]sql[/COLOR].ToString(), conn)
        conn.Open()
        
    End Sub
 
Aha, muito obrigado, já funcionou tudo sem dar erros ao compilar!! :D Obrigado!! :P

Agora só apareceu um erro quando tento executar aquilo... "The ConnectionString property has not been initialized.". Mas isto penso que não tem propriamente a ver com o código, ando a tentar resolver. :P
 
Back
Topo