簡體   English   中英

C#Web服務從SQL Server獲取數據

[英]C# web service get data from sql server

我連接了SQL Server數據庫,並使用用戶名和密碼值返回xml布爾值true。 但是我想根據用戶名查詢的結果獲得sicilKod值。 我該怎么做?

根據用戶名和密碼返回此布爾值

[WebMethod]

public bool login(string unamePI, string passPI)
{
    DataTable mytable = new DataTable();
    bool mydeger = false;
    mytable = GetTableWithQueryParams("select * from UYE where USERNAME ={0} and PASSWORD={1}", unamePI, passPI);

    if (mytable.Rows.Count > 0)
    {
        mydeger = true;
    }
    else
    {
        return mydeger;
    }
    string de = mytable.Rows[0].ToString();
    return mydeger; 
}

數據庫連接:

public static DataTable GetTableWithQueryParams(string SQLCommandText, params object[] myParametres)
{
    string aConnectionString = "Data Source = ..; Initial Catalog = mydatabase; Persist Security Info = True; User ID = ..; Password = ..";
    SqlConnection SqlConn = new SqlConnection(aConnectionString);
    SqlCommand MyCommand = new SqlCommand("", SqlConn);
    DataTable MyTable = new DataTable();

    try
    {
        int i = 0;
        SqlConn.Open();
        foreach (object MyObject in myParametres)
        {
            if (SQLCommandText.Contains("{" + i.ToString() + "}"))
            {
                SQLCommandText = SQLCommandText.Replace("{" + i.ToString() + "}", "@Prm" + i.ToString());
                MyCommand.Parameters.AddWithValue("Prm" + i.ToString(), MyObject);
                i++;
            }
        }
        MyCommand.CommandText = SQLCommandText;
        SqlDataReader MyReader = MyCommand.ExecuteReader();
        MyTable.Load(MyReader);
        SqlConn.Close();
        MyReader.Dispose();
    }
    catch (Exception ex)
    {
        throw new Exception(SQLCommandText + "\n" + ex.Message);
    }
    finally
    {
        SqlConn.Dispose();
        MyCommand.Dispose();
    }
    return MyTable;
}

將您的方法更改為此。

public string login(string unamePI, string passPI)
{
    DataTable mytable = new DataTable();
    string result = "";
    mytable = GetTableWithQueryParams("select * from UYE where USERNAME ={0} and PASSWORD={1}", unamePI, passPI);

    if (mytable.Rows.Count > 0)
    {
        result = string.Format("Welcome {0}", mytable.Rows[0]["sicilKod"].ToString());
    }

    return result;

}

然后檢查登錄方法的返回值是否為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM