【发布时间】:2013-11-09 15:03:12
【问题描述】:
现在我想逐行检索数据表值。我已经找到了一种方法来完成它,但我无法得到我想要的结果。它只检索一行记录。这是代码:
MySqlConnection connStr = new MySqlConnection();
connStr.ConnectionString = "Server = localhost; Database = healthlivin; Uid = root; Pwd = khei92;";
String searchPerson = "SELECT PersonIDB from contactFriend WHERE PersonID = @id";
MySqlCommand cmdSearch = new MySqlCommand(searchPerson, connStr);
connStr.Open();
cmdSearch.Parameters.AddWithValue("@id", "M000001");
MySqlDataReader dtrRead2 = cmdSearch.ExecuteReader();
dt.Load(dtrRead2);
dtrRead2.Close();
connStr.Close();
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
String s = (String)(DataBinder.Eval(e.Item.DataItem, "PersonID"));
String val = "";
for (int i = 0; i < dt.Rows.Count ; i++)
{
//val = dt.Rows[i]["PersonIDB"].ToString();
if (dt.Rows[i]["PersonIDB"].ToString().Equals(s))
e.Item.Visible = false;
else
e.Item.Visible = true;
}
编辑
页面加载:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
MySqlConnection connStr = new MySqlConnection();
connStr.ConnectionString = "Server = localhost; Database = healthlivin; Uid = root; Pwd = khei92;";
String searchOverall = "SELECT PersonID, PersonName, Email, Picture FROM Person";
MySqlCommand cmdSearch = new MySqlCommand(searchOverall, connStr);
connStr.Open();
MySqlDataReader dtrRead2 = cmdSearch.ExecuteReader();
friendRepeater.DataSource = dtrRead2;
friendRepeater.DataBind();
dtrRead2.Close();
dtrRead2 = null;
connStr.Close();
}
catch (Exception ex)
{
//MessageBox.Show(ex.ToString());
}
}
}
对于 ItemDataBound :
protected void ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//String personID = "";
DataTable dt = new DataTable();
try
{
MySqlConnection connStr = new MySqlConnection();
connStr.ConnectionString = "Server = localhost; Database = healthlivin; Uid = root; Pwd = khei92;";
String searchPerson = "SELECT PersonIDB from contactFriend WHERE PersonID = @id";
MySqlCommand cmdSearch = new MySqlCommand(searchPerson, connStr);
connStr.Open();
cmdSearch.Parameters.AddWithValue("@id", "M000001");
MySqlDataReader dtrRead2 = cmdSearch.ExecuteReader();
dt.Load(dtrRead2);
dtrRead2.Close();
connStr.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
String s = (String)(DataBinder.Eval(e.Item.DataItem, "PersonID"));
String val = "";
for (int i = 0, count = dt.Rows.Count; i < count ; i++)
{
//val = dt.Rows[i]["PersonIDB"].ToString();
//DataRow dr = dt.Rows[i];
if (dt.Rows[i]["PersonIDB"].ToString().Equals(s))
e.Item.Visible = false;
else
e.Item.Visible = true;
}
}
}
【问题讨论】:
-
您可能想从连接字符串中删除用户名/密码(并更改服务器上的密码...)
标签: c# asp.net datatable repeater