View Full Version : Duvidas ASP.net
flaviorodrigues 04-02-2008, 02:32 Boas, alguem sabe como fazer um sistema valdiacao login em asp.net e tambem como executar querys sql no asp.net?
Tipo isto: label1.caption = SELECT COUNT(*) as "Number of employees"
FROM employees
WHERE salary > 25000;
alguem sabe por exemplo como fazer isto?
Obrigado
Flavio
alfinete 04-02-2008, 19:28 linguagem de base de dados (sqlserver,mysql, access)e de chamada a mesma, vb ou c#?
com objectos ou n/objectos?
alfinete 04-02-2008, 19:36 mas quanto aos helps que queres:
quer na lbl quer no logion, podes criar um dataset que esta associado a um sql .
caso lbl
sql tal como escreveste que cai guardar numa string o valor do count, e depois fazes:
lblx.text= nomedavar; -c#
lblx.text=nomedavar -vbquanto ao loguin
tens de criar um mesmo dataset com umparametro associado
em que o select é o seguinte
select login
from tabutilizador
where login= @login@loguin- parametro
do tipo ----- @login = caixadetexto, onde digitas o login
depois de o dataset for >0 é sinal que descobriu um loguin, logo entra em sessão, caso contrario da a mensagem de erro a dizer que login n existente
espero que tenha ajudado
flaviorodrigues 04-02-2008, 21:57 boas, nao entendi muito bem.
Eu tou a usar o visual web developer 2005.
Que controlo devo usar para as ligacoes entao da bd?
Vou usar SQL e na linguagem tou a usar vb
eu queria exemplos de codigo disso ai do select count por exemplo, queria a parte em que inicio a ligacao a bd e onde faço a consulta.
gracias
SoundSurfer 04-02-2008, 23:52 Começa por aqui:
http://www.microsoft.com/brasil/msdn/adonet/default.mspx
flaviorodrigues 05-02-2008, 16:28 ja li, mas sinceramente nao cheguei a grande conclusao, queria exemplos mais praticos!
SoundSurfer 05-02-2008, 16:39 Google -> ado.net example
alfinete 05-02-2008, 18:55 sim eu tenho exemplos mas com classes ja criadas , ai se torna mais dificil arranjar algo
, quando ao sql é utilzado em tdos os motores de bd, qual estas a usar , sqlserver2005, my sql, access ou oracle?
alfinete 05-02-2008, 19:09 formulario de loguin em aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="index.aspx.vb" Inherits="_index" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<!--************************************************** **************************-->
<!--Pagina Principal de login -->
<!--************************************************** **************************-->
<head runat="server">
<title>Sistema de Pedidos - Login</title>
<!--Chama o ficheiro de folha de estilos index.css-->
<link rel="STYLESHEET" type="text/css" href="index.css" />
</head>
<body id="Frm_index">
<form id="form1" runat="server" method="post">
<!-- Titulo do formulario -->
<div class="texto2">
Autenticação De Utilizadores
</div>
<div class="texto1">
Autenticação De Utilizadores
</div>
<!-- ************************************************** *****************-->
<div class="formulario">
<br /> <br /><br /><br /><br /> <br /><br /><br /><br /> <br /><br />
<br />
<!-- painel loggin-->
<asp:Panel ID="Panel_login" runat="server" Height="224px" Width="303px" BorderStyle="Solid">
<!-- label info-->
<asp:Label class="label_info" ID="lbl_info" runat="server" Font-Bold="True" Font-Size="Medium" ForeColor="Red"
Text="Insira o nome de Utilizador e a senha" Height="68px" Width="287px" style="left: 394px; top: 273px"></asp:Label><br /><br />
<!-- label utilizador-->
<asp:Label class="label_utilizador" ID="Lbl_utilizador" runat="server" Text="<u>U</u>tilizador" Font-Bold="True"></asp:Label>
<!-- caixa de texto utilizador-->
<asp:TextBox class="caixa_de_texto_Utilizador" ID="Txtbox_user" runat="server" BorderStyle="Solid" Width="135px" TabIndex="2" AccessKey="U" ></asp:TextBox>
<!-- label Senha-->
<asp:Label class="label_senha" ID="lbl_Password" runat="server" Text="<u>S</u>enha" Font-Bold="True"></asp:Label>
<!-- Caixa de texto senha-->
<asp:TextBox class="caixa_de_texto_senha" ID="txtbox_pass" runat="server" Align="center" BorderStyle="Solid" TabIndex="4" TextMode="Password" Width="135px" AccessKey="S"></asp:TextBox> <!-- Label erro-->
<!-- botao login-->
<!-- btn_entrar_Click - função que realiza as funções
do botão ao clicar nele atrves do evento onclick -->
<asp:Button class="botao" onClick="btn_entrar_Click" ID="btn_entrar" runat="server" Text="Entrar" BackColor="#8080FF" BorderStyle="Ridge" Font-Bold="True" Font-Size="Small" Font-Strikeout="False" ForeColor="ControlText" Width="74px" TabIndex="5" EnableViewState="False" AccessKey="E" /> <!-- label erro-->
<asp:Label class="label_erro" ID="lbl_Erro" runat="server" Font-Bold="True" Font-Size="Small" ForeColor="Red" TabIndex="6"></asp:Label>
</asp:Panel>
</div>
<!-- Titulo Abaixo do formulario -->
<div class="texto4" >
Administração de Stocks CMP
</div>
<div class="texto3" >
Administração de Stocks CMP
</div>
<!-- ************************************************** ********************* -->
</form>
</body>
</html>
codigo vb associado
__________________________________________________ _____
Imports System.Data
Imports criptografar
Imports System.Security.Cryptography
Imports trata_sql
Partial Class _index
Inherits System.Web.UI.Page
Protected Sub btn_entrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn_entrar.Click
Dim login As String ' guarda o user que faz loguin
'Dim data As String ' guarda a data de sistema de login
Dim ds As DataSet = ExecSql("SELECT * FROM TabUtilizador where Login='" & Txtbox_user.Text & _
"' and Password = '" & GeraHash(txtbox_pass.Text) & "'")
If ds.Tables.Item(0).Rows.Count = 1 Then
'Para armazenar o Login e a Hora que foi efetuado o login
login = Me.Txtbox_user.Text
Session("Login") = login
Session("LoginId") = ds.Tables.Item(0).Rows.Item(0)("Id")
Session("HorarioLogin") = Today.ToString("dd/MM/yyyy")
Session("Previlegio") = ds.Tables.Item(0).Rows.Item(0)("Previlegios")
Response.Redirect(host + "/site/Admin.aspx")
Else
lbl_Erro.Visible = True
lbl_Erro.Text = "Nome de UTilizador ou password Invalidos"
Txtbox_user.Text = ""
txtbox_pass.Text = ""
'Me.Txtbox_user.Focus()
End If
ds.Dispose()
End Sub
Protected Sub Txtbox_user_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txtbox_user.TextChanged
If Me.Txtbox_user.Text <> "" Then
Me.lbl_Erro.Visible = False
End If
End Sub
End Class
este ultimo code poes no ficheiro associado ao aspx, o que poes code vb
_________
classe trata_sql
_________________
Imports System.Data
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Public Class trata_sql
' Caminho da base de dados
Public Shared str_ligacao As String = "data source=(local);initial catalog=Requisicoes;integrated security=SSPI;persist security info=True"
Public Shared host As String = "http://localhost:8080" '"http://outro:8080"
Public Shared Function ExecSql(ByVal comando As String) As DataSet
Dim sda As SqlDataAdapter = New SqlDataAdapter(comando, str_ligacao)
Dim ds As DataSet = New DataSet()
sda.Fill(ds)
sda.Dispose()
Return ds
End Function
End Class
codigo css chamado no formulário feito em index.aspx para formatar as possições do mesmo
_________________
body
{
padding: 0px;
margin: 0px;
width: auto;
height: auto;
background-image:url("imagens/fundopag.JPG");
}
/*classe css para a div do formulário*/
div.titulo
{
margin-left:350px;
margin-top:100px;
}
div.formulario
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:-320px 0px 0px -150px;
}
/* texto do titulo do formulario de login */
div.texto1
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:-170px 0px 0px -200px;
color:#039;
font: 25px "arial black", Helvetica, sans-serif;
}
/* texto da sombra do titulo do formulario de login */
div.texto2
{
position:absolute;
top:50.2%;
left:50.2%;
padding:0px;
margin:-170px 0px 0px -200px;
color:#CCFFFF;
font: 25px "arial black", Helvetica, sans-serif;
}
/* formatação da sombra do titulo abaixo do formulario de login */
div.texto3
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:250px 0px 0px -200px;
color:#039;
font: 25px "arial black", Helvetica, sans-serif;
}
/* formatação do titulo abaixo do formulario de login */
div.texto4
{
position:absolute;
top:50.2%;
left:50.2%;
padding:0px;
margin:250px 0px 0px -200px;
color:#CCFFFF;
font: 25px "arial black", Helvetica, sans-serif;
}
/************************************************** ******************************
*************** Alinhamento dos objecto pertencentes ao form login***************
botão <entrar>
label <utilizador>
label <password>
label <info>
label <erro>
caixa de texto <Utilizador>
caixa de texto <senha>
************************************************** ******************************/
/* botao do formulatio */
.botao
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:160px 0px 0px -35px;
}
/*Caixa de texto senha*/
.caixa_de_texto_senha
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:110px 0px 0px -20px;
}
/*Caixa de texto Utilizador*/
.caixa_de_texto_Utilizador
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:80px 0px 0px -20px;
}
/*Label Utilizador*/
.label_utilizador
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:80px 0px 0px -110px;
}
/*Label senha*/
.label_senha
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:110px 0px 0px -110px;
}
/*Label Info*/
.label_info
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:0px 0px 0px -365px;
}
/*******************/
/*label do titulo */
.label_titulo
{
/*position:absolute;*/
position:absolute;
top:100px; /*posição a contar de cima*/
left:350px; /*posição a contar da esquerda*/
margin:0px;
padding:0px;
}
/*do label erro */
.label_erro
{
position:absolute;
top:50%;
left:50%;
padding:0px;
margin:200px 0px 0px -120px;
}
este ultimo esta a ser chamado na seguinte linha do file aspx
<link rel="STYLESHEET" type="text/css" href="index.css" />
este exemplo esta ligado a uma bd sql server 2000
este funciona foi o que utilzei para o meu projecto de fim de curso
este é um exemplo de login
o tal exemplo do count fazes, poes num dataset ataves d trata_sql, :
mais ou menos assim
primeiro fazes import da class
Imports trata_sql
dim str as string
dim ds as dataset = ExecSql(' SELECT COUNT(*) as "Number of employees" _
FROM employees WHERE salary > 25000')
If ds.Tables.Item(0).Rows.Count = 1 Then
str = convert.tostring(ds.Tables.Item(0).Rows.Item(0)(0) )
lblteste=" num max de employes -> " & str
else
lblteste="do not employes"
end if
ds.Dispose()
este ultimo não sei se funciona pois não testei, mas é parecido ao do loguin
espero que ajude
flaviorodrigues 05-02-2008, 19:38 ja tou a perceber :) assim e muito mais facil
obrigado
Flavio
VioletFluid 06-02-2008, 11:23 Eu não entendo, parece que muita gente quer colocar o carro à frente dos bois.
Ultimamente vejo aqui muitos pedidos de como se faz "isto ou aquilo", sem saberem aparentemente programar, ou seja, querem exemplos de algo já feito.
Eu acho que isso é começar pelo meio, saltando à frente o inicio da aprendizagem.
flaviorodrigues 06-02-2008, 11:35 boas, eutenho conhecimentos na area vb, usei durante 1 ano vb6 com acess, não sou nenhum pro, mas safo me bem.
A questão esta que para projecto final de curso tenho de aprender asp.net ate abril e ter o projecto feito. isto tudo ate abril.
Como tal não tenho tempo para aprender tudo, assim com exemplos chego la mais facilmente pois olho po codigo e percebo o que la esta.
Um programador não tem de saber o código de cor, mas sim perceber lo
Desculpem o offftopic
|
|