2016-10-17 3 views
0

Ich verband SQL-Server-Datenbank und ich benutze Benutzername und Passwort Wert zurück xml boolean wahr. Aber ich möchte sicilKod Wert nach den Ergebnissen der Abfrage Benutzername erhalten. Wie kann ich es tun?C# -Webdienst erhalten Daten von SQL-Server

Dieser zurück boolean Wert nach Benutzernamen und Passwort

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

Datenbank verbinden:

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

Haben Sie versucht, 'de' Variable zu mistable.Rows [0] [" SicilKod "]. ToString()? – Badiparmagi

+0

Erfahren Sie, wie Sie Ihre Frage erläutern können. – mybirthname

Antwort

0

Änderung dies Ihr Verfahren.

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; 

} 

Überprüfen Sie dann, ob der Rückgabewert der Anmeldemethode leer ist oder nicht.

+0

System.ArgumentException: 'sicilKod' s ü tunu, tablosuna ait değil. konum: System.Data.DataRow.GetDataColumn (String column) konum: System.Data.DataRow.get_Item (String column) konum: LoginCpm.WebService1.login (String unamePI, String passPI) –

+0

@EmreAslan tut sicilKod existieren in UYE Tisch? – Badiparmagi

+0

Ja, ich habe sicilKod.I Senden von Werten aus Android-Anwendung Benutzername und Passwort.Wenn es Benutzer dann Login-App tun. –

Verwandte Themen