欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#如何将Access中以时间段条件查询的数据添加到ListView中

程序员文章站 2023-12-02 23:10:22
一、让listview控件显示表头的方法 在窗体中添加listview 空间,其属性中设置:view属性设置为:detail,columns集合中添加表头中的文字。 二...

一、让listview控件显示表头的方法

在窗体中添加listview 空间,其属性中设置:view属性设置为:detail,columns集合中添加表头中的文字。

二、利用代码给listview添加item。

首先,listview的item属性包括items和subitems。必须先实例化一个listiteview对象。具体如下:

listviewitem  listviewitem=new listviewitem();
listviewitem.subitems[0].text=""11111;//第一行第一例的值
listviewitem.subitems.add("222");///
listviewitem.subitems.add("222");///以此类推
listview1.items.add(listviewitem);

三、access中时间段查询的sql语句书写规范(采用datetimepick控件)

      注意:#  是必须要加的

string sql=select * from tablename where timefield between #"+datetimepick1.value.tostring()+"# and #"+datetimepick2.vlaue.tostring()+"#";

四、连接数据库,按条件查询数据并显示在listview中

string path = system.environment.currentdirectory + "\\database.mdb";
      oledbconnection con = new oledbconnection("provider=microsoft.ace.oledb.12.0;data source=" + path);//station2.mdb
      con.open();
      string sql = "select * from sendrecord where sendtime between #" + datetimepicker1.value.tostring() + "# and #" + datetimepicker2.value.tostring() + "#";
      // string sql = "select * from sendrecord";
      oledbdataadapter da = new oledbdataadapter(sql, con);
      dataset dt = new dataset();
      da.fill(dt);
      datatable dtb = dt.tables[0];
      foreach (datarow row in dtb.rows)
      {
        listviewitem listviewitem = new listviewitem();
        listviewitem.subitems.clear();
        listviewitem.subitems[0].text = string.format("{0:yyyy-mm-dd hh:mm}", row["sendtime"]);
        listviewitem.subitems.add((string)row["sender"]);
        listviewitem.subitems.add((string)row["content"]);
        listviewitem.subitems.add(string.format("{0}", row["auditor"]));
        listviewitem.subitems.add(string.format("{0:yyyy-mm-dd hh:mm}", row["audittime"]));
        listviewitem.subitems.add(string.format("{0}", row["auditstatus"]));
        listview1.items.add(listviewitem);
      }
      con.close();
}