C#Web服务从sql server获取数据

时间:2016-10-17 06:44:44

标签: c# sql-server web-services

我连接SQL服务器数据库和我使用用户名和密码值返回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;
}

1 个答案:

答案 0 :(得分:0)

将您的方法更改为此。

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;

}

然后检查登录方法返回值是否为空。