您可以調(diào)用Me.Hide()方法隱藏Login窗體。
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、阿合奇ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的阿合奇網(wǎng)站制作公司
另外,如果您使用新建工程后的那個(gè)默認(rèn)窗體作為L(zhǎng)ogin窗體,那么您只能隱藏這個(gè)窗體或修改程序的啟動(dòng)對(duì)象。因?yàn)閂B.net默認(rèn)將創(chuàng)建工程時(shí)的那個(gè)默認(rèn)窗體作為程序的主窗體,應(yīng)用程序的主消息循環(huán)就建立在這個(gè)窗體上,如果您關(guān)閉這個(gè)窗體,那么所有的消息泵都會(huì)停止,應(yīng)用程序就會(huì)退出。
我比較推薦您將Main窗體設(shè)為應(yīng)用程序的主窗體,這樣可以減小資源的占用,當(dāng)Login完成后就可以釋放Login窗體了。
另外,vb.net中的me變量相當(dāng)于C語(yǔ)言中的this指針,它指向當(dāng)前類。
推薦一個(gè)網(wǎng)站,這個(gè)網(wǎng)站有很多的教程,而且基本都是附部分代碼,可能有一些對(duì)您有用的信息。
將用戶名,密碼,用戶類型存在數(shù)據(jù)庫(kù)中,登陸時(shí)比較輸入的值是否與數(shù)據(jù)庫(kù)相同即可。
哈哈簡(jiǎn)單哪
第一步:登陸網(wǎng)頁(yè)代碼
第二步:登陸以后判斷是否登陸成功
有兩種方法:1.獲取網(wǎng)頁(yè)代碼,判斷網(wǎng)頁(yè)字符有無(wú)”登陸成功”字樣
源代碼:
2.就是判斷網(wǎng)頁(yè)是否跳轉(zhuǎn)到了某一頁(yè)
源代碼:
兩種方法結(jié)合起來(lái)用,可以判斷網(wǎng)頁(yè)是否無(wú)法連接
我前臺(tái)用的是PB,后臺(tái)用的SQL Server2000
語(yǔ)言選擇的是B語(yǔ)言 不知道ACCESS和SQL相差大不大,但我想數(shù)據(jù)庫(kù)應(yīng)該都差不多這樣操作吧~ 呵呵 (大致是這樣的思路,可以仿著自己動(dòng)手寫一下,希望有幫助到你。)
string s1,a,s2
s1=sle_1.text // 用戶名
s2=sle_2.text // 密碼
select password
into :a
//將數(shù)據(jù)庫(kù)中的密碼數(shù)據(jù)存 放在變量a中(因?yàn)镻B中不能直接使用SQL語(yǔ)句)
from idpass
// 數(shù)據(jù)庫(kù)中設(shè)置用戶名和密碼的表,名為idpass
where id=:s1
//如果輸入的用戶名與數(shù)據(jù)庫(kù)中的用戶名一致,則返回該表中的密碼數(shù)據(jù)
using sqlca;
if s1="" or s2="" then
messagebox("出錯(cuò)提示","輸入信息不能為空!請(qǐng)重新輸入!",exclamation!,okcancel!,2)
else
if s1 'ht**' and s1 'HT**' then
messagebox("出錯(cuò)提示","輸入用戶名不對(duì)(不區(qū)分大小寫)!請(qǐng)重新輸入!",exclamation!,okcancel!,2)
else
if s2 '6***' AND s2 '6***' then
messagebox("出錯(cuò)提示","輸入密碼不對(duì)(不區(qū)分大小寫)!請(qǐng)重新輸入!",exclamation!,okcancel!,2)
else
open(w_qi***a)
close(parent)
end if
end if
end if
既然你用的也是B語(yǔ)言,那后面的應(yīng)該也看得懂吧,我就不多介紹了哈~ 呵呵,希望有幫助到你。
暈,剛剛才看到你用的前臺(tái)是.NET,是制作動(dòng)態(tài)網(wǎng)站啊~ 呵呵 前面的就當(dāng)我沒說(shuō)吧,我也不刪了,也許別人有需要,就占樓主一個(gè)位置啦,還望見諒哈!呵呵.
基礎(chǔ)類庫(kù):
Imports Microsoft.VisualBasic
'執(zhí)行Access語(yǔ)句的封裝類。
Public Class AccessExecClass
Private conn As Data.OleDb.OleDbConnection
Private cmd As Data.OleDb.OleDbCommand
'創(chuàng)建類對(duì)象,并連接到數(shù)據(jù)庫(kù)。
Sub New()
If openAccess Then
Else
msgbox("open Access Fail.")
End If
End Sub
'創(chuàng)建類對(duì)象,并連接到數(shù)據(jù)庫(kù)。 '輸入帶目錄名稱的數(shù)據(jù)庫(kù)文件名稱:dbFileName,例如:“\DB數(shù)據(jù)庫(kù)\企業(yè)數(shù)據(jù)庫(kù).aspx”
Sub New(ByVal dbFileName As String)
If OpenAccess(dbFileName) Then
Else
MsgBox("open Access Fail.")
End If
End Sub
Function OpenAccess() As Boolean
OpenAccess = False
'檢驗(yàn)用戶的帳號(hào)密碼是否正確
Dim provider As String '= ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName
provider = "Provider=Microsoft.Jet.OLEDB.4.0"
Dim database As String
database = "Data Source=" System.Web.HttpContext.Current.Server.MapPath("\數(shù)據(jù)庫(kù).aspx") ";Persist Security Info=true"
conn = New Data.OleDb.OleDbConnection(provider ";" database)
conn.Open()
OpenAccess = True
End Function
Function OpenAccess(ByVal dbFileName As String) As Boolean
OpenAccess = False
'檢驗(yàn)用戶的帳號(hào)密碼是否正確
Dim provider As String '= ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName
provider = "Provider=Microsoft.Jet.OLEDB.4.0"
Dim database As String
database = "Data Source=" System.Web.HttpContext.Current.Server.MapPath(dbFileName) ";Persist Security Info=true"
conn = New Data.OleDb.OleDbConnection(provider ";" database)
conn.Open()
OpenAccess = True
End Function
'關(guān)閉數(shù)據(jù)庫(kù)。
Sub CloseAccess()
cmd = Nothing
conn.Close()
End Sub
'執(zhí)行一條Access語(yǔ)句,執(zhí)行成功就返回True。
Function ExecAccessString(ByVal AccessStr As String) As Boolean
cmd = New Data.OleDb.OleDbCommand(AccessStr, conn)
cmd.ExecuteNonQuery()
'Dim aa As Data.OleDb.OleDbDataReader = cmd.ExecuteReader
ExecAccessString = True
End Function
'返回讀取到的數(shù)據(jù),注意是用地址傳遞方式返回
Sub ExecAccessString(ByVal AccessStr As String, ByRef AccessReader As Data.OleDb.OleDbDataReader)
cmd = New Data.OleDb.OleDbCommand(AccessStr, conn)
cmd.ExecuteNonQuery()
AccessReader = cmd.ExecuteReader
End Sub
End Class
登陸代碼:
Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
Dim wl As New WebLog '用戶登錄記錄開始,僅對(duì)購(gòu)買了Log 功能的用戶,才開放此功能,否則不會(huì)實(shí)際記錄Log
Dim sql As String
Dim aDB As New AccessExecClass
Dim mypw As String
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
'沒有輸入時(shí),不能進(jìn)行登陸
If TextBox1.Text = "" Then
Label1.Visible = True
Return
End If
If TextBox2.Text = "" Then
Label2.Visible = True
Return
End If
If TextBox3.Text = "" Then
Label3.Visible = True
Return
End If
If TextBox3.Text = TextBox4.Text Then
Else
Label3.Visible = True
Return
End If
Dim iRnd As Integer = Rnd(10) * 100
TextBox3.Text = ""
TextBox4.Text = iRnd.ToString
'Dim iRnd As Integer = Rnd(10) * 100
'注意:此處需要加入防止注入分析,包含'的肯定是特別語(yǔ)句,講拒絕.
If TextBox1.Text.IndexOf("'") 0 Or TextBox2.Text.IndexOf("'") 0 Then
TextBox1.Text = "不能輸入非法字符,將強(qiáng)制清空"
TextBox2.Text = ""
Else
Dim pw As New MD5EnCode(13, 19) ' '2次加密
sql = "select 權(quán)限組號(hào),ID , 密碼 from 編輯人數(shù)據(jù) where 編輯姓名='" + TextBox1.Text + "'"
Dim aa As Data.OleDb.OleDbDataReader '= cmd.ExecuteReader
aDB.ExecAccessString(sql, aa)
If aa.Read() Then
'密碼正確()
'sql = aa(2)'需要特別注意:只能單向解密,不能直接轉(zhuǎn)換
mypw = pw.simDeCode(pw.simDeCode(aa(2)))
If TextBox2.Text = mypw Then
Session("LOGIN_Name") = TextBox1.Text '設(shè)置登錄后的用戶名稱
Session("Login_Group") = aa(0) 'cmd.ExecuteScalar '設(shè)置登錄后的權(quán)限級(jí)別
Session("Login_ID") = aa(1) 'cmd.ToString
'cmd = Nothing
'conn.Close()
Call wl.NewLog("登錄", "管理員成功登錄")
Response.Redirect("../WebManages/Default.ASPX")
Else
'密碼錯(cuò)誤()
sql = sql.Replace("'", "【單引號(hào)】")
sql = sql.Replace(",", "【逗號(hào)】")
Call wl.NewLog("登錄", "管理員失敗的登錄", TextBox1.Text, sql.Replace("""", "【雙引號(hào)】"), "")
Label4.Visible = True
End If
Else
'密碼錯(cuò)誤()
sql = sql.Replace("'", "【單引號(hào)】")
sql = sql.Replace(",", "【逗號(hào)】")
Call wl.NewLog("登錄", "管理員失敗的登錄", TextBox1.Text, sql.Replace("""", "【雙引號(hào)】"), "")
Label4.Visible = True
End If
End If
End Sub