数据放到DataTable中
text1.text = datatable.rows[0]["a"].tostring();
bool b = true;
for (int i = 0; i < select1.items.count; i++)
{
  if (select1.items[i].text == datatable.rows[0]["b"].tostring())
  {
    select1.SelectedIndex = i;
    b = false;
  }
}
if (b)
{
  ListItem item = new ListItem(datatable.rows[0]["b"].tostring());
  select1.Items.Add(item);
}

解决方案 »

  1.   

    放在DataTable里面。而且select top 1 a, b from table1 可能得出多条记录来,你想把所有的a都显示在text1里面吗?
    你想做的事情说的不是很明白。
      

  2.   

    可以放在DataReader中:
    SqlConnection conn = new SqlConnection("...");
    conn.Open();
    SqlCommand cmd = new SqlCommand("select top 1 a,b from table1", conn);
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.Read())
    {
      text1.Text = dr["a"].ToString();
      for (int i = 0; i < select1.Items.Count; i++)
      {
        if (select1.Items[i].Value = dr["b"].ToString())
          select1.SelectedIndex = i;
      }
    }
    dr.Close();
    conn.Close();try it.
      

  3.   

    可以放在DataReader中:
    SqlConnection conn = new SqlConnection("...");
    conn.Open();
    SqlCommand cmd = new SqlCommand("select top 1 a,b from table1", conn);
    SqlDataReader dr = cmd.ExecuteReader();
    if (dr.Read())
    {
      text1.Text = dr["a"].ToString();
      for (int i = 0; i < select1.Items.Count; i++)
      {
        if (select1.Items[i].Value = dr["b"].ToString())
          select1.SelectedIndex = i;
      }
    }
    dr.Close();
    conn.Close();try it.
      

  4.   

    不必放在dataset中
    string conn="server=(local);database=test;uid=;pwd=";
    SqlConnection myConn=new SqlConnection(conn);
    string selectCmd="select top 1 a,b from table1";
    SqlCommand myCommand=new SqlCommand(selectCmd,myConn);
    SqlDataReader myReader=myCommand.ExecuteReader();
    if (myReader.Read())
    {
      text1.Value=myReader.GetString[0];
      //myReader.GetString[1]取得的是b的值,该怎么写你自己看着办吧,你的
       问题说的不够清楚,不明白再留言
    }