我想获得一个返回值,它一直给我一个错误。 我想通过发送用户名验证用户名后,获取“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