C#web服务从sql服务器获取数据
我连接SQL服务器数据库,并使用用户名和密码值返回xml布尔值true。但是我想根据用户名查询的结果得到sicilKod
的值。我该怎么做?C#web服务从sql服务器获取数据
该返回布尔值,根据用户名和密码
[的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;
}
然后检查登录方法返回值是否为空。
System.ArgumentException:'sicilKod的ü tunu,tablosuna aitdeğil。 konum:System.Data.DataRow.GetDataColumn(字符串COLUMNNAME) konum:System.Data.DataRow.get_Item(字符串COLUMNNAME) konum:LoginCpm.WebService1.login(字符串unamePI,字符串passPI) –
@EmreAslan确实sicilKod在存在UYE表? – Badiparmagi
是的,我有sicilKod.I从android应用程序的用户名和密码发送值。如果它有用户,然后它做登录应用程序。 –
您是否尝试将'de'变量设置为mytable.Rows [0] [“SicilKod”]。ToString()? – Badiparmagi
了解如何解释您的问题。 – mybirthname