我想獲得一個返回值,它一直給我一個錯誤。 我想通過發送用戶名驗證用戶名後,獲取「roleid」 - 我無法弄清楚我做錯了什麼?沒有得到返回值
public string ValidateRole(string sUsername)
{
string matchstring = "SELECT roleid FROM tblUserRoles WHERE UserName='" + sUsername +"'";
SqlCommand cmd = new SqlCommand(matchstring);
cmd.Connection = new SqlConnection("Data Source=(local);Initial Catalog=samplename;Integrated Security=True");
cmd.Connection.Open();
cmd.CommandType = CommandType.Text;
SqlDataAdapter sda = new SqlDataAdapter();
DataTable dt = new DataTable();
sda.SelectCommand = cmd;
sda.Fill(dt);
string match;
if (dt.Rows.Count > 0)
{
foreach (DataRow row in dt.Rows)
{
match = row["roleid"].ToString();
return match;
}
}
else
{
match = "fail";
return match;
}
}
錯誤說的是什麼? – Khan
看起來你只希望返回一行,所以循環遍歷行沒有意義,但我懷疑這是錯誤的原因。哪條線引發異常,信息是什麼? –
你需要提供你得到的異常的細節,以獲得有意義的答案。 – saille