用VS2012创建和使用WebService(连接SQL Server)

1.创建“ASP.NET 空Web应用程序”。打开VS2012,选择“文件”=>“新建”=>“项目”,弹出“新建项目”窗口;然后,选择“Web”=>“ASP.NET空Web应用程序”,可以为新建项目设置“名称”、“位置”、“解决方案名称”,然后点击“确定按钮”,就创建了一个ASP.NET的空Web应用程序。

 

2.打开“服务器资源管理器”,右键单击“数据连接”,选择“添加连接(A)…”,弹出“添加连接”对话框。

用VS2012创建和使用WebService(连接SQL Server)_第1张图片

3.在“添加连接”对话框中,输入“服务器名(E)”、选择“登陆到服务器”的方式,并填入相应信息,然后选择“连接到的数据库”,之后可以点击“测试连接”按钮,测试连接是否成功,然后点击“确定”按钮,添加成功。

用VS2012创建和使用WebService(连接SQL Server)_第2张图片

4.成功添加的连接。

用VS2012创建和使用WebService(连接SQL Server)_第3张图片

5.添加数据库连接。先创建文件夹“DB”,然后在其中添加一个“SQLServerDB.cs”的类,用来连接SQL Server数据库。

用VS2012创建和使用WebService(连接SQL Server)_第4张图片

6.在创建好的SQLServerDB.cs中添加如下代码:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace AndroidWebService.DB
{
    /// 
    /// 操作SQL Server数据库的类
    /// 
    public class SQLServerDB
    {
        //连接数据库
        public SqlConnection sqlCon;
        //连接数据库字符串
        public String strSql = @"Data Source=172.17.2.64;Initial Catalog=vjudge;Persist Security Info=True;User ID=sa;Password=1234";

        //默认构造函数
        public SQLServerDB() {
            if (sqlCon == null) {
                sqlCon = new SqlConnection();
                sqlCon.ConnectionString = strSql;
                sqlCon.Open();
            }
        }

        public void Close() {
            if (sqlCon != null) {
                sqlCon.Close();
                //sqlCon.Dispose();
            }
        }
    }
}


7.添加数据库的操作。先创建文件夹“Action”,然后在其中添加一个“SQLServerAction.cs”的类,用来进行数据库操作。

using AndroidWebService.DB;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace AndroidWebService.Action
{
    public class UserSQLServerAction
    {
        SQLServerDB db = new SQLServerDB();

        /// 
        /// 判断用户登陆
        /// 
        /// 
        /// 
        /// 
        public string UserLogin( string UserID, string Password ) {
            string strSql = "select NickName from dbo.users where UserID='"+UserID+"' and Password='"+Password+"'";
            SqlCommand sqlCmd = new SqlCommand(strSql, db.sqlCon);
            SqlDataReader sqlReader = sqlCmd.ExecuteReader();
            if (sqlReader.Read()) {
                return sqlReader[0].ToString();
            }
            return "";
        }

        /// 
        /// 返回所有用户列表
        /// 
        /// 
        public List Index()
        {
            List user = new List();
            string strSql = "select * from dbo.users";
            SqlCommand sqlCmd = new SqlCommand(strSql, db.sqlCon);
            SqlDataReader sqlReader = sqlCmd.ExecuteReader();
            while (sqlReader.Read())
            {
                user.Add( sqlReader[0].ToString() );
                user.Add( sqlReader[1].ToString() );
                user.Add( sqlReader[2].ToString() );
                user.Add( sqlReader[3].ToString() );
            }
            return user;
        }

        /// 
        /// 返回用户详情
        /// 
        /// 
        public List Detail()
        {
            List user = new List();
            string strSql = "select * from dbo.users";
            SqlCommand sqlCmd = new SqlCommand(strSql, db.sqlCon);
            SqlDataReader sqlReader = sqlCmd.ExecuteReader();
            if (sqlReader.Read())
            {
                user.Add(sqlReader[0].ToString());
                user.Add(sqlReader[1].ToString());
                user.Add(sqlReader[2].ToString());
                user.Add(sqlReader[3].ToString());
            }
            return user;
        }

        /// 
        /// 创建用户
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        public string Create( string UserID,string NickName, string PhoneNumber, string Password ) {
            string strSql = "select NickName from dbo.users where UserID='" + UserID + "'";
            SqlCommand sqlCmd = new SqlCommand(strSql, db.sqlCon);
            SqlDataReader sqlReader = sqlCmd.ExecuteReader();
            if (sqlReader.Read())
            {
                return "已存在<" + UserID + ">用户!";             
            }
            sqlReader.Close();
            strSql = "insert into dbo.users values('" + UserID + "','" + NickName + "','" + PhoneNumber + "','" + Password + "')";
            SqlCommand sqlCmdin = new SqlCommand(strSql, db.sqlCon);
            sqlCmdin.ExecuteNonQuery();
            return "添加成功!";
        }

        /// 
        /// 删除用户
        /// 
        /// 
        /// 
        public string Delete( string UserID )
        {
            string strSql = "select NickName from dbo.users where UserID='" + UserID + "'";
            using (SqlCommand sqlCmd = new SqlCommand(strSql, db.sqlCon))
            {
                SqlDataReader sqlReader = sqlCmd.ExecuteReader();
                if (!sqlReader.Read())
                {
                    return "不存在该用户!";
                }
                sqlReader.Close();
            }
            strSql = "delete from dbo.users where UserID='" + UserID + "'";
            using (SqlCommand sqlCmdin = new SqlCommand(strSql, db.sqlCon))
            {
                sqlCmdin.ExecuteNonQuery();
            }
            return "删除成功!";
        }
    }
}

8.添加Web服务。右键单击项目名称,选择“添加”=>“新建项”,弹出“添加新项”窗口。选择“Web”=>“Web服务”选项,可以为新建项修改“名称”,然后单击“添加”按钮,成功添加了一个以.asmx为后缀的Web Services项。打开新建的Web Service服务,修改代码如下:

using AndroidWebService.Action;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace AndroidWebService
{
    /// 
    /// Summary description for UserSQLServerWebService
    /// 
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class UserSQLServerWebService : System.Web.Services.WebService
    {
        UserSQLServerAction uAction = new UserSQLServerAction();

        /// 
        /// 判断登陆
        /// 
        /// 
        /// 
        /// 
        [WebMethod]
        public string UserLogin(string UserID, string Password)
        {
            return uAction.UserLogin(UserID,Password);
        }

        /// 
        /// 显示所有用户列表
        /// 
        /// 
        [WebMethod]
        public string[] Index()
        {
            return uAction.Index().ToArray();
        }

        /// 
        /// 显示某一用户详情
        /// 
        /// 
        [WebMethod]
        public string[] Detail()
        {
            return uAction.Detail().ToArray();
        }

        /// 
        /// 创建用户
        /// 
        /// 
        /// 
        /// 
        /// 
        /// 
        [WebMethod]
        public string Create(string UserID, string NickName, string PhoneNumber, string Password)
        {
            return uAction.Create( UserID,NickName,PhoneNumber,Password );
        }

        /// 
        /// 删除用户
        /// 
        /// 
        /// 
        [WebMethod]
        public string Delete(string UserID)
        {
            return uAction.Delete(UserID);
        }
    }
}


你可能感兴趣的:(.NET那些事)