webservice.cs

来自「酒店管理 主要实现了基础设施管理(客房管理、客房类型管理)、业务管理(入住、退」· CS 代码 · 共 99 行

CS
99
字号
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;

using BLL;
using System.Data.SqlClient;
using System.Data.OleDb;

/// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService()]
public class WebService : System.Web.Services.WebService
{
    public WebService()
    {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string[] GetData(string prefixText, int count)
    {
        string[] temp = new string[6];
        int num = 0;
        try
        {
            string database = System.Configuration.ConfigurationManager.AppSettings["DAL"] as string;
            string access = System.Configuration.ConfigurationManager.ConnectionStrings["AccessConnectionString"].ConnectionString as string;
            string sqlserver = System.Configuration.ConfigurationManager.ConnectionStrings["SQLServerConnectionString"].ConnectionString as string;
            string conString = string.Empty;
            if (database.Equals("Access"))
            {
                conString = access;
                num = AccessDbOperator(prefixText, temp, num, conString);
            }
            else if (database.Equals("SQLServer"))
            {
                conString = sqlserver;
                ///获得SQLServer数据的方法
                using (SqlConnection con = new SqlConnection(conString))
                {
                    con.Open();
                    SqlCommand cmd = new SqlCommand("select top 6 Number from Room where Number like '" + prefixText + "%'", con);
                    SqlDataReader rdr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                    while (rdr.Read())
                    {
                        temp[num++] = rdr.GetValue(0).ToString();
                    }
                }
            }
            else
            {
                conString = access;
                num = AccessDbOperator(prefixText, temp, num, conString);
            }
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message + ex.StackTrace);
        }
        string[] numbers = new string[num];
        for (int i = 0; i < numbers.Length; i++)
        {
            numbers[i] = temp[i];
        }
        return numbers;
    }

    /// <summary>
    /// 获得Access数据的方法
    /// </summary>
    /// <param name="prefixText"></param>
    /// <param name="temp"></param>
    /// <param name="num"></param>
    /// <param name="conString"></param>
    /// <returns></returns>
    private static int AccessDbOperator(string prefixText, string[] temp, int num, string conString)
    {
        using (OleDbConnection con = new OleDbConnection(conString))
        {
            con.Open();
            OleDbCommand cmd = new OleDbCommand("select top 6 Numbers from Room where Numbers like '" + prefixText + "%'", con);
            OleDbDataReader rdr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
            while (rdr.Read())
            {
                temp[num++] = rdr.GetValue(0).ToString();
            }
        }
        return num;
    }
}

⌨️ 快捷键说明

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