我做的是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後~~在加入來使用。這樣就不管那個程式只要呼叫後~~就方便又快了。

arrow
arrow
    全站熱搜

    毛魚 發表在 痞客邦 留言(0) 人氣()