简体   繁体   English

C#Web服务从SQL Server获取数据

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

I connected SQL server database and I using username and password value return xml boolean true. 我连接了SQL Server数据库,并使用用户名和密码值返回xml布尔值true。 But I want to get sicilKod value according to the results of the username query. 但是我想根据用户名查询的结果获得sicilKod值。 How can I do it? 我该怎么做?

This returning boolean value according to username and password 根据用户名和密码返回此布尔值

[WebMethod] [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; 
}

Database connect: 数据库连接:

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;
}

change your method to this. 将您的方法更改为此。

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;

}

then check if login method return value is empty or not. 然后检查登录方法的返回值是否为空。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM