求ASP.NET中VBS的登录代码数据库名SQL2000  的mydata   表为user   字段为 username   password如何写一个会员登录认证呀?在线等。。

解决方案 »

  1.   

    Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles BtnSubmit.Click
            Dim strusername As String
            Dim strpassword As String
            Dim checkcodebool As Integer = 1        strusername = ReplaceBadChar(TxtUserName.Text)
            strpassword = ReplaceBadChar(TxtPassword.Text)        If IsValid Then
                If strusername = "" Or strpassword = "" Then
                    LabMessage.Text = "<font color='red'>用户名或密码为空或有非法字符!</font>"
                    TxtCheckcode.Text = ""
                Else
                    If DBCheckLogin(strusername, md5(strpassword)) > 0 Then
                        FormsAuthentication.RedirectFromLoginPage(TxtUserName.Text, False)                End If
                End If
            End If
        End Sub
      

  2.   

    '用户登录检查
        Function DBCheckLogin(ByVal strUsername As String, ByVal strPassword As String) As Integer
            Dim intResult As Integer
            If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
            sql = New SqlCommand("OA_ChkUserLogin", conn)
            sql.CommandType = CommandType.StoredProcedure
            parmReturnValue = sql.Parameters.Add("RETURN_VALUE", SqlDbType.Int)
            parmReturnValue.Direction = ParameterDirection.ReturnValue
            sql.Parameters.Add("@UserName", strUsername)
            sql.Parameters.Add("@PassWord", strPassword)
            conn.Open()
            sql.ExecuteNonQuery()
            intResult = sql.Parameters("RETURN_VALUE").Value
            conn.Close()        If intResult < 0 Then
                If intResult = -1 Then
                    LabMessage.Text = "<font color=red>用户没注册,请先注册!</font>"
                Else
                    LabMessage.Text = "<font color=red>密码错误!</font>"
                End If
                TxtCheckcode.Text = ""
            End If
            Return intResult
        End Function
      

  3.   

    ===存储过程
    CREATE PROCEDURE OA_ChkUserLogin  
    (
    @UserName varchar(100),
    @PassWord varchar(100)
    )
    AS
    declare @id int
    declare @TruePassWord varchar(100)select @ID=identitycol,@TruePassWord=Password from mydata where  UserName=@UserNameIF @ID IS NOT NULL
         IF @TruePassWord=@PassWord
      return @ID     ELSE
    return - 2
    ELSE
    return - 1
    GO
      

  4.   

    那登录的第一个页面怎么写呀?也就是说,点击提交后,它提交那里处理呀?能不能将你的代码写成页面给我呀.....THANKS
      

  5.   

    =====================页面===============================
    <%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="laojiang.oa.net.WebForm1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="FlowLayout">
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <TABLE id="Table1" style="WIDTH: 187px; HEIGHT: 219px" align="center">
    <TR>
    <TD width="125" colSpan="2" height="20">请输入您的名称:</TD>
    </TR>
    <TR>
    <TD colSpan="2" height="11"><asp:textbox id="TxtUserName" runat="server" Width="121px" CssClass="login_input"></asp:textbox><asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ControlToValidate="TxtUserName" ErrorMessage="*"></asp:requiredfieldvalidator></TD>
    </TR>
    <TR>
    <TD colSpan="2" height="20">请输入您的密码:</TD>
    </TR>
    <TR>
    <TD colSpan="2" height="1"><asp:textbox id="TxtPassword" runat="server" CssClass="login_input" TextMode="Password"></asp:textbox><asp:requiredfieldvalidator id="RequiredFieldValidator2" runat="server" ControlToValidate="TxtPassword" ErrorMessage="*"></asp:requiredfieldvalidator></TD>
    </TR>
    <TR>
    <TD colSpan="2" height="20"></TD>
    </TR>
    <TR>
    <TD height="15"></TD>
    <TD></TD>
    </TR>
    <TR>
    <TD colSpan="2" height="20"><BR>
    <asp:imagebutton id="BtnSubmit" runat="server" CssClass="hand" ImageUrl="images/login/button_submit.gif"></asp:imagebutton>&nbsp;</TD>
    </TR>
    </TABLE>
    </FONT>
    <asp:label id="LabMessage" runat="server">请输入您的用户名称和密码</asp:label></form>
    </body>
    </HTML>
    ===========================代码===============================
    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.Web.Security
    Public Class WebForm1
        Inherits System.Web.UI.Page#Region " Web 窗体设计器生成的代码 "    '该调用是 Web 窗体设计器所必需的。
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()    End Sub
        Protected WithEvents BtnSubmit As System.Web.UI.WebControls.ImageButton
        Protected WithEvents RequiredFieldValidator2 As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents TxtPassword As System.Web.UI.WebControls.TextBox
        Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator
        Protected WithEvents TxtUserName As System.Web.UI.WebControls.TextBox
        Protected WithEvents LabMessage As System.Web.UI.WebControls.Label    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
        '不要删除或移动它。
        Private designerPlaceholderDeclaration As System.Object    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
            'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
            '不要使用代码编辑器修改它。
            InitializeComponent()
        End Sub#End Region    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码    End Sub    Private Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles BtnSubmit.Click
            Dim strusername As String
            Dim strpassword As String        strusername = TxtUserName.Text
            strpassword = TxtPassword.Text
            If IsValid Then
                If strusername = "" Or strpassword = "" Then
                    LabMessage.Text = "<font color='red'>用户名或密码为空或有非法字符!</font>"
                Else
                    If DBCheckLogin(strusername, strpassword) > 0 Then
                        FormsAuthentication.RedirectFromLoginPage(TxtUserName.Text, False)                End If
                End If
            End If
        End Sub
        '用户登录检查
        Function DBCheckLogin(ByVal strUsername As String, ByVal strPassword As String) As Integer
            Dim intResult As Integer
            Dim conn As SqlConnection '数据库连接
            Dim parmReturnValue As SqlParameter
            Dim sql As SqlCommand        If conn.State = ConnectionState.Open Then
                conn.Close()
            End If
            sql = New SqlCommand("ChkUserLogin", conn)
            sql.CommandType = CommandType.StoredProcedure
            parmReturnValue = sql.Parameters.Add("RETURN_VALUE", SqlDbType.Int)
            parmReturnValue.Direction = ParameterDirection.ReturnValue
            sql.Parameters.Add("@UserName", strUsername)
            sql.Parameters.Add("@PassWord", strPassword)
            conn.Open()
            sql.ExecuteNonQuery()
            intResult = sql.Parameters("RETURN_VALUE").Value
            conn.Close()        If intResult < 0 Then
                If intResult = -1 Then
                    LabMessage.Text = "<font color=red>用户没注册,请先注册!</font>"
                Else
                    LabMessage.Text = "<font color=red>密码错误!</font>"
                End If
            End If
            Return intResult
        End Function
    End Class
    =====================数据库存储过程========================
    ===存储过程
    CREATE PROCEDURE ChkUserLogin  
    (
    @UserName varchar(100),
    @PassWord varchar(100)
    )
    AS
    declare @id int
    declare @TruePassWord varchar(100)select @ID=identitycol,@TruePassWord=Password from mydata where  UserName=@UserNameIF @ID IS NOT NULL
         IF @TruePassWord=@PassWord
      return @ID     ELSE
    return - 2
    ELSE
    return - 1
    GO