我的sql只返回单个值

时间:2011-07-27 16:26:41

标签: c# mysql sql database winforms

我有

staff table
staff_Id
staff_Accesscode values (access123,code123,staff12)....

我这样做是为了获取staff_accesscode

中的所有值
DataTable dt2 = null;
string sql = @"SELECT staff_AccessCode FROM staff";
dt2 = xxxxxx.GetData(sql, gBaseUrl);
if (dt2 != null && dt2.Rows.Count > 0)
{
   accessname = dt2.Rows[0]["staff_AccessCode"].ToString();
}

但问题是它只返回存储在staff_Accesscode中的最后一个值,我的意思是它只返回这个值(staff12)

现在我想获取存储在staff_Accesscode字段中的所有值,并且我想要使用txtbox.text检查此值

2 个答案:

答案 0 :(得分:5)

您只访问第accessname = dt2.Rows[0]...行中的第一行;你需要循环遍历集合中的所有可用行。

答案 1 :(得分:3)

您只访问第一行(索引为0)。 您可以遍历完整的结果集:

for ( int i = 0; dt2 != null && i < dt2.Rows.Count; ++i )
{
    String tmp = dt2.Rows[ i ]["staff_AccessCode"].ToString();
    if ( tmp.Equals( what_ever_variable_or_constant /* e.g., txtbox.Text */ ) )
    {
        accessname = tmp;
        //break; ?
    }
}