我做的是LOGIN~~為例。將LOGIN的資料送到WebService中到資料看是否正確。
如果正確會回傳"YES",在記錄在LOGIN的裡面。當然也可以存到SESSON裡。
先做一個ASPX的頁面~~拉一個LOGIN的控制項到頁面上。
加入下面程式
Imports System.Web.Services
Protected Sub Login1_Authenticate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
'將LoginWebService這個WebService檔案加進來~~傳送帳號密碼回去
Dim ws = New LoginWebService()
Dim a = ws.IDLogin(Login1.UserName.ToString, Login1.Password.ToString)
'傳回來的值會用"a"來接收,如果是YES就是登入成功。
If a = "Yes" Then
e.Authenticated = True
Else
e.Authenticated = False
End If
End Sub
下面就是加入一個WebService檔案,檔名是LoginWebService~~
Imports System.ComponentModel
Imports System.Data
Imports System.Data.SqlClient
Public Function IDLogin(ByVal id As String, ByVal password As String) As String
'下面是資料庫的讀取~~可以用自已的方法。
Dim connString As String = "Data Source=輸入SERVER的IP;Initial Catalog=Login;User ID=帳號;Password=密碼"
Dim queryString As String = "SELECT LoginID FROM [Login] WHERE LoginID='" & (id).ToUpper & "' and LoginPassword ='" & password & "'"
Dim name As Integer = 0
Dim reader As SqlDataReader
Dim sqlConn As New SqlConnection(connString)
Dim sqlCmd As New SqlCommand
Dim sqlPara As New SqlParameter
sqlCmd.CommandText = queryString
sqlCmd.Connection = sqlConn
sqlConn.Open()
reader = sqlCmd.ExecuteReader
' Call Read before accessing data.
If reader.Read() Then
'如果帳號密碼都對~~就會讀到有LoginID ,就會把NAME改成1
name = 1
End If
' Call Close when done reading.
reader.Close()
sqlConn.Close()
'如果NAME是1就是登入成功。
If name = 1 Then
Return "Yes"
Else
Return "NO"
End If
End Function
當然有很多東西可以寫成WebService來呼叫
這樣你的程式就不會很長,而且重復的動作一直做你就一直的COPY
如果都是一樣的事情,就可以寫成WebService後~~在加入來使用。這樣就不管那個程式只要呼叫後~~就方便又快了。
留言列表