⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 webservice.cs

📁 visual c# 网络编程技术与实践实例包括几个源码
💻 CS
📖 第 1 页 / 共 3 页
字号:
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
//添加对SqlClient命名空间的引用
using System.Data.SqlClient;

namespace WebService
{
    public class BBS_DataBase : System.Web.Services.WebService
    {

        public BBS_DataBase()
        {
        }

        private static string DBconn = "Data Source=AYWIZARD\\SQLDATABASE;Initial Catalog=BBS_DB;Persist Security Info=True;User ID=sa;password=sa2005";

        [WebMethod]
        //登陆
        public DataSet Login(string name, string pass)
        {
            //获得数据库连接
            SqlConnection conn = new SqlConnection(DBconn);
            //创建命令
            SqlCommand SqlCmd = conn.CreateCommand();
            //使用pd_Login存储过程
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_Login";
            //传入用户名与密码参数
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@Name", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = name.Trim();
            SqlParameter parInput2 = SqlCmd.Parameters.Add("@Pass", SqlDbType.Char);
            parInput2.Direction = ParameterDirection.Input;
            parInput2.Value = pass.Trim();
            //连接数据库
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            //执行sql命令
            SqlDataAdapter myDataAdapter = new SqlDataAdapter(SqlCmd);
            DataSet myDataSet = new DataSet();
            myDataAdapter.Fill(myDataSet, "UserInfor");
            //获得用户等级与昵称信息
            if (conn.State == ConnectionState.Open)
                conn.Close();
            //返回数据集
            return myDataSet;
        }

        [WebMethod]
        //获得最新的主题
        public DataSet GetNewList(string sort)
        {
            SqlConnection conn = new SqlConnection(DBconn);
            //使用pd_GetNewList存储过程
            SqlCommand SqlCmd = conn.CreateCommand();
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_GetNewList";
            //把论坛分区做为参数传入
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@group", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = sort.Trim();
            //打开数据库连接
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                //使用SqlDataAdapter把数据填充到DataSet类型中
                SqlDataAdapter myDataAdapter = new SqlDataAdapter(SqlCmd);
                DataSet myDataSet = new DataSet();
                //将表TitleList填写到DataSet类型中
                myDataAdapter.Fill(myDataSet, "TitleList");
                //返回DateSet类型值
                return myDataSet;
            }
            finally
            {
                //关闭数据库
                if (conn.State == ConnectionState.Open)
                    conn.Close();
            }
        }

        [WebMethod]
        //检查用户名是否存在
        public int CheckUser(string name)
        {
            //获得数据库连接
            SqlConnection conn = new SqlConnection(DBconn);
            //获得数据库命令
            SqlCommand SqlCmd = conn.CreateCommand();
            //使用pd_checkUser存储过程
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_checkUser";
            //传入用户名参数
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@Name", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = name.Trim();
            //获得返回值
            SqlParameter parReturn1 = SqlCmd.Parameters.Add("returnvalue", SqlDbType.Int);
            parReturn1.Direction = ParameterDirection.ReturnValue;
            //打开数据库
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            int state;
            //执行Sql命令
            try
            {
                //获得命令的返回值
                SqlCmd.ExecuteNonQuery();
                state = Convert.ToInt32(SqlCmd.Parameters["returnvalue"].Value);
            }
            catch
            {
                //若查找失败 置state变量为0
                state = 0;
            }
            if (conn.State == ConnectionState.Open)
                conn.Close();
            return state;
        }

        [WebMethod]
        //注册
        public int Register(string[] regedit)
        {
            //连接数据库
            SqlConnection conn = new SqlConnection(DBconn);
            SqlCommand SqlCmd = conn.CreateCommand();
            //使用pd_regedit存储过程
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_regedit";
            //设置注册的用户默认的组为1  为用户
            //数据库中有默认的用户为0组 为管理员
            //将用户信息作为参数传入
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@name", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = regedit[0].Trim();
            SqlParameter parInput2 = SqlCmd.Parameters.Add("@nick", SqlDbType.Char);
            parInput2.Direction = ParameterDirection.Input;
            parInput2.Value = regedit[1].Trim();
            SqlParameter parInput3 = SqlCmd.Parameters.Add("@pass", SqlDbType.Char);
            parInput3.Direction = ParameterDirection.Input;
            parInput3.Value = regedit[2].Trim();
            SqlParameter parInput4 = SqlCmd.Parameters.Add("@email", SqlDbType.VarChar);
            parInput4.Direction = ParameterDirection.Input;
            parInput4.Value = regedit[3].Trim();
            SqlParameter parInput5 = SqlCmd.Parameters.Add("@mark", SqlDbType.VarChar);
            parInput5.Direction = ParameterDirection.Input;
            parInput5.Value = regedit[4].Trim();
            //获得存储过程的返回值
            SqlParameter parReturn1 = SqlCmd.Parameters.Add("returnvalue", SqlDbType.Int);
            parReturn1.Direction = ParameterDirection.ReturnValue;
            //打开数据库连接
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            int state;
            try
            {
                //执行插入用户信息命令 并获得返回值
                SqlCmd.ExecuteNonQuery();
                state = Convert.ToInt32(SqlCmd.Parameters["returnvalue"].Value);
            }
            catch
            {
                state = 0;
            }
            finally
            {
                //关闭数据库
                if (conn.State == ConnectionState.Open)
                    conn.Close();
            }
            //返回插入数据是否成功的状态值
            return state;
        }

        [WebMethod]
        //获得特定组的主题贴
        public DataSet GetSortList(string sort)
        {
            SqlConnection conn = new SqlConnection(DBconn);
            SqlCommand SqlCmd = conn.CreateCommand();
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_sortList";
            //将组名传入
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@group", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = sort.Trim();
            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();
                //使用SqlDataAdapter把数据填充到DataSet类型中
                SqlDataAdapter myDataAdapter = new SqlDataAdapter(SqlCmd);
                DataSet myDataSet = new DataSet();
                //将表TitleList填写到DataSet类型中
                myDataAdapter.Fill(myDataSet, "TitleList");
                //返回DateSet类型值
                return myDataSet;
            }
            finally
            {
                //关闭数据库
                if (conn.State == ConnectionState.Open)
                    conn.Close();
            }
        }

        [WebMethod]
        //发表主题
        public int AppearTitle(string name, string title, string cont, string group, string nick, int exp)
        {
            SqlConnection conn = new SqlConnection(DBconn);
            SqlCommand SqlCmd = conn.CreateCommand();
            SqlCmd.CommandType = CommandType.StoredProcedure;
            //使用pd_appearNote存储过程
            SqlCmd.CommandText = "pd_appearNote";
            //将主题相关参数传入
            SqlParameter parInput1 = SqlCmd.Parameters.Add("@name", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = name.Trim();
            SqlParameter parInput2 = SqlCmd.Parameters.Add("@title", SqlDbType.Char);
            parInput2.Direction = ParameterDirection.Input;
            parInput2.Value = title.Trim();
            //使用系统时间作为发表主题时间
            SqlParameter parInput3 = SqlCmd.Parameters.Add("@time", SqlDbType.Char);
            parInput3.Direction = ParameterDirection.Input;
            parInput3.Value = System.DateTime.Now;
            SqlParameter parInput4 = SqlCmd.Parameters.Add("@group", SqlDbType.VarChar);
            parInput4.Direction = ParameterDirection.Input;
            parInput4.Value = group;
            SqlParameter parInput5 = SqlCmd.Parameters.Add("@content", SqlDbType.VarChar);
            parInput5.Direction = ParameterDirection.Input;
            parInput5.Value = cont;
            SqlParameter parInput6 = SqlCmd.Parameters.Add("@nick", SqlDbType.VarChar);
            parInput6.Direction = ParameterDirection.Input;
            parInput6.Value = nick;
            SqlParameter parReturn1 = SqlCmd.Parameters.Add("returnvalue", SqlDbType.Int);
            parReturn1.Direction = ParameterDirection.ReturnValue;
            //使用pd_GetExp存储过程
            SqlCommand SqlCmd1 = conn.CreateCommand();
            SqlCmd1.CommandType = CommandType.StoredProcedure;
            SqlCmd1.CommandText = "pd_GetExp";
            SqlParameter parInput7 = SqlCmd1.Parameters.Add("@name", SqlDbType.Char);
            parInput7.Direction = ParameterDirection.Input;
            parInput7.Value = name.Trim();
            SqlParameter parInput8 = SqlCmd1.Parameters.Add("@exp", SqlDbType.Int);
            parInput8.Direction = ParameterDirection.Input;
            parInput8.Value = exp + 1;
            //打开数据库连接
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            int state;
            try
            {
                //执行插入新主题命令
                SqlCmd.ExecuteNonQuery();
                //执行增加经验值命令
                SqlCmd1.ExecuteNonQuery();
                state = Convert.ToInt32(SqlCmd.Parameters["returnvalue"].Value);
            }
            catch
            {
                state = 0;
            }
            finally
            {
                //关闭数据库
                if (conn.State == ConnectionState.Open)
                    conn.Close();
            }
            return state;
        }

        [WebMethod]
        //获得用户信息
        public DataSet GetUserInfor(string name)
        {
            SqlConnection conn = new SqlConnection(DBconn);

            //使用pd_GetUserInfor存储过程
            SqlCommand SqlCmd = conn.CreateCommand();
            SqlCmd.CommandType = CommandType.StoredProcedure;
            SqlCmd.CommandText = "pd_GetUserInfor";

            SqlParameter parInput1 = SqlCmd.Parameters.Add("@name", SqlDbType.Char);
            parInput1.Direction = ParameterDirection.Input;
            parInput1.Value = name;

            try
            {
                if (conn.State == ConnectionState.Closed)
                    conn.Open();

                SqlDataAdapter myDataAdapter = new SqlDataAdapter(SqlCmd);
                DataSet myDataSet = new DataSet();
                //使用返回的数据填充表

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -