从 Web 表单中检索记录列表
Retreiving a list of records from web forms
我遇到了这个问题。
我有一个网络表单,用户可以在其中插入他们的数据(姓名、出生日期...)和两种类型的地址。当我必须检索整个地址列表时(我总是两次获得数据库的第一条记录),问题就来了(很明显)。
这是代码:
SqlCommand cmd = new SqlCommand("select * from Address where idUsers = @id", con);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = id;
rdr = (cmd.ExecuteReader());
if (rdr.HasRows)
{
rdr.Read();
AddressType.Items[AddressType.SelectedIndex].Selected = false;
AddressType.Items.FindByValue(rdr["idAddressType"].ToString()).Selected = true;
txtStreet.Text = rdr["streetAddress"].ToString();
txtCity.Text = rdr["cityAddress"].ToString();
Nation.Items[Nation.SelectedIndex].Selected = false;
Nation.Items.FindByValue(rdr["idNations"].ToString()).Selected = true;
tblAddress2.Visible = true;
AddressType2.Items[AddressType2.SelectedIndex].Selected = false;
AddressType2.Items.FindByValue(rdr["idAddressType"].ToString()).Selected = true;
txtStreet2.Text = rdr["streetAddress"].ToString();
txtCity2.Text = rdr["cityAddress"].ToString();
Nation2.Items[Nation2.SelectedIndex].Selected = false;
Nation2.Items.FindByValue(rdr["idNations"].ToString()).Selected = true;
}
rdr.Close();
我能做什么?有什么建议吗?
提前谢谢你。
在tblAddress2.Visible = true;
之前再添加一个rdr.Read();
否则你只是再次阅读同一行。除非你告诉它,否则它不会知道移动到下一行。
我遇到了这个问题。 我有一个网络表单,用户可以在其中插入他们的数据(姓名、出生日期...)和两种类型的地址。当我必须检索整个地址列表时(我总是两次获得数据库的第一条记录),问题就来了(很明显)。
这是代码:
SqlCommand cmd = new SqlCommand("select * from Address where idUsers = @id", con);
cmd.Parameters.Add("@id", SqlDbType.Int).Value = id;
rdr = (cmd.ExecuteReader());
if (rdr.HasRows)
{
rdr.Read();
AddressType.Items[AddressType.SelectedIndex].Selected = false;
AddressType.Items.FindByValue(rdr["idAddressType"].ToString()).Selected = true;
txtStreet.Text = rdr["streetAddress"].ToString();
txtCity.Text = rdr["cityAddress"].ToString();
Nation.Items[Nation.SelectedIndex].Selected = false;
Nation.Items.FindByValue(rdr["idNations"].ToString()).Selected = true;
tblAddress2.Visible = true;
AddressType2.Items[AddressType2.SelectedIndex].Selected = false;
AddressType2.Items.FindByValue(rdr["idAddressType"].ToString()).Selected = true;
txtStreet2.Text = rdr["streetAddress"].ToString();
txtCity2.Text = rdr["cityAddress"].ToString();
Nation2.Items[Nation2.SelectedIndex].Selected = false;
Nation2.Items.FindByValue(rdr["idNations"].ToString()).Selected = true;
}
rdr.Close();
我能做什么?有什么建议吗? 提前谢谢你。
在tblAddress2.Visible = true;
rdr.Read();
否则你只是再次阅读同一行。除非你告诉它,否则它不会知道移动到下一行。