string mysql = string.Format("select e.areaname,c.employeename from active_tags_table a,rfid_tagemployee b,rfid_employee c,rfid_readerarea d,rfid_area e where a.tagid = b.tagid and a.readername = d.readerid and c.employeeid = b.employeeid and d.areaid = e.areaid and a.gettime between '"+dt3+"' and '"+dt2+"' group by a.tagid having count(*)>1");
....
ListViewItem lvi; while (dr.Read())
{
for (int i = 0; i < num; i++)
{
lvi = new ListViewItem((listView2.Items.Count + 1).ToString()); //在listview控件的第一列中显示ID标识,对查询得到的行数进行编号
lvi.SubItems.Add(dr["areaname"].ToString());
lvi.SubItems.Add(dr["employeename"].ToString());
lvi.SubItems.Add("Employee");
listView2.Items.Add(lvi);//显示
}
}
conn.Close();
这段代码执行之后在listview当中显示areaname和employeename,查询SQL没问题,就是显示了两组数据,请问该如何改?
显示:
1 B 张三
2 C 李四
3 B 张三
4 C 李四
我想要的结果是:
1 B 张三
2 C 李四
解决方案 »
- 请问图片验证码的识别逻辑是什么? 急!
- C#调用C++ Build 写的DLL出错,VC6.0调用时却可以返回正确值。
- 动态添加的dropdownlist如何绑定数据源
- winform 捡分帖,问题解决分数不是问题--SQL行加锁
- 走过,看过,不能错过!来就送分。这事需要来个高手
- C#中的索引问题
- 操作ORACLE 数据库 的CLOB字段的问题
- 如何读取并更改这样的XML? 请高手救火
- 为什么运行asp.net程序后,路径会自动跟一个字符串。。
- 怎么样获取XML节点的特性值?
- 解决方案多个项目,来编译当前编辑的类库项目的快捷键是什么。
- 请问如何在WPF中通过导航在代码中一个window跳转到另一个window?
{
for (int i = 0; i < num; i++)---你这个循环有问题吧,肯定比2多。
{
Add : list.Items.Clear();
所以list清空了
DateTime dt = System.DateTime.Now; //获取系统当前时间
DateTime dt1 = dt.AddSeconds(-4);
string dt2 = dt.ToString("yyyy-MM-dd HH:mm:ss"); //将时间格式转换
string dt3 = dt1.ToString("yyyy-MM-dd HH:mm:ss");
conn.Open();
string mysql = string.Format("select e.areaname,c.employeename from active_tags_table a,rfid_tagemployee b,rfid_employee c,rfid_readerarea d,rfid_area e where a.tagid = b.tagid and a.readername = d.readerid and c.employeeid = b.employeeid and d.areaid = e.areaid and a.gettime between '"+dt3+"' and '"+dt2+"' group by a.tagid having count(*)>1");
MySqlCommand cmd = new MySqlCommand(mysql, conn);
MySqlDataAdapter sda = new MySqlDataAdapter(mysql, conn);
sda.Fill(ds, "rfid_employee");
MySqlDataReader dr = cmd.ExecuteReader();
int num = ds.Tables["rfid_employee"].Rows.Count;
listView2.GridLines = true;//显示行与行之间的分隔线
listView2.FullRowSelect = true;//要选择就是一行
listView2.View = View.Details;//定义列表显示的方式
listView2.Scrollable = true;//需要时候显示滚动条
listView2.MultiSelect = false; // 不可以多行选择
listView2.HeaderStyle = ColumnHeaderStyle.Clickable;
listView2.Items.Clear(); ListViewItem lvi; while (dr.Read())
{
for (int i = 0; i < num; i++)
{
lvi = new ListViewItem((listView2.Items.Count + 1).ToString()); //在listview控件的第一列中显示ID标识,对查询得到的行数进行编号
lvi.SubItems.Add(dr["areaname"].ToString());
lvi.SubItems.Add(dr["employeename"].ToString());
lvi.SubItems.Add("Employee");
listView2.Items.Add(lvi);//显示
}
}
conn.Close();
里面的dr.Read 本来就要循环2次