Access查询时间段案例

### Access查询时间段案例 在日常的数据管理工作中,经常会遇到需要根据特定的时间段来查询数据的需求。例如,在一个销售管理系统中,我们可能需要查询某个日期范围内的销售额或订单详情。本案例将详细介绍如何使用Microsoft Access结合ASP.NET进行时间段查询的具体实现方法。 #### 一、案例背景与需求分析 假设我们有一个名为`PrintData`的数据库表,该表记录了打印任务的信息,包括打印时间(`NowDateTime`字段)和其他相关信息。我们的目标是根据用户输入的起始时间和结束时间,查询出这段时间内所有的打印记录,并展示出来。此外,还需要计算这段时间内的打印次数以及总金额。 #### 二、技术选型 为了实现上述需求,本案例采用了以下技术栈: - **前端**:ASP.NET Web Forms - **后端**:Microsoft Access 数据库 - **连接组件**:Microsoft.Jet.OLEDB.4.0 #### 三、代码实现 1. **连接数据库** 我们需要建立与Access数据库的连接。这里使用的是OLE DB连接方式。连接字符串如下所示: ```csharp string strCn = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\WorkSpace\\PrintTable\\DB\\db.mdb"; OleDbConnection OleCn = new OleDbConnection(strCn); ``` 2. **构造SQL查询语句** 根据用户输入的起始时间和结束时间,构造出SQL查询语句。这里需要注意的是,Access数据库中的日期/时间格式需要使用特定的格式,即用`#`号包裹起来: ```csharp string strCmd = "select * from (select * from PrintData where NowDateTime between #" + tbxStartTime.Text.ToString() + "# and #" + tbxEndTime.Text.ToString() + "# order by NowDateTime asc) where DeleteShow=false"; ``` 3. **执行查询** 创建OleDbCommand对象并设置其命令文本为上述SQL语句,然后通过DataAdapter填充DataTable: ```csharp OleDbCommand OleCmd = new OleDbCommand(strCmd, OleCn); OleDbDataAdapter OleAda = new OleDbDataAdapter(OleCmd); DataTable ds = new DataTable(); OleCn.Open(); OleAda.Fill(ds); OleCn.Close(); ``` 4. **显示查询结果** 查询结果存储在DataTable `ds` 中,可以通过GridView或其他控件将其展示出来: ```csharp this.gvShow.DataSource = ds; this.gvShow.DataBind(); ``` 5. **计算汇总信息** 计算查询时间段内的打印次数和总金额,这一步可以使用LINQ to DataTable或DataTable自带的方法来完成: ```csharp int i = ds.Rows.Count; decimal Sum = Decimal.Parse(ds.Compute("Sum(Money)", "").ToString()); string strSum = Sum.ToString(); lblSumTime.Text = strSum; ``` 6. **异常处理** 为了确保程序的健壮性,需要对可能出现的异常进行捕获并处理: ```csharp catch { lblErrorMse.Text = "发生错误"; } ``` #### 四、总结 通过以上步骤,我们可以成功地实现了基于时间段的查询功能,并能够展示查询结果以及统计信息。这种查询方式在实际应用中非常常见,对于提高数据查询效率、支持决策制定等方面具有重要意义。同时,本案例也展示了ASP.NET与Access数据库结合使用的具体实现细节,为开发类似应用提供了参考。































{
if (tbxStartTime.Text != "" || tbxEndTime.Text != "")
{
string strCn = "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=D:\\WorkSpace\\PrintTable\\DB\\db.mdb";
OleDbConnection OleCn = new OleDbConnection(strCn);
string strCmd = "select * from (select * from PrintData where NowDateTime between #" + tbxStartTime.Text.ToString() + "# and #" + tbxEndTime.Text.ToString() + "# order by NowDateTime asc) where DeleteShow = false";
OleDbCommand OleCmd = new OleDbCommand(strCmd, OleCn);
OleDbDataAdapter OleAda = new OleDbDataAdapter(OleCmd);
DataTable ds = new DataTable();
OleCn.Open();
OleAda.Fill(ds);
OleCn.Close();
this.gvShow.DataSource = ds;
this.gvShow.DataBind();
int i = ds.Rows.Count;
decimal Sum = Decimal.Parse(ds.Compute("Sum(Money)", "").ToString());
string strSum = Sum.ToString();
lblSumTime.Text = strSum;
lblErrorMse.Text = "";
}
else
{
getData();
lblErrorMse.Text = "";
}
}
catch
{
lblErrorMse.Text = "没有符合条件的数据,或条件输入错误!请重新输入";

- zhgwangap2015-09-16对于初学习者来说是个有用的资源,但10积分实在有点多。

- 粉丝: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络安全工程实验书.doc
- 第3章-建筑安装工程定额.ppt
- 污水处理厂运营维护方案p.doc
- BIM技术在铁路隧道工程施工管理中的应用.doc
- 大数据时代数据新闻的实践浅析-以财新网数字说为例.docx
- 做高级软件工程师首选计算器学校一度教育软工培训.doc
- 大数据时代的医学院校数据结构课程教学改革初探.docx
- 涂膜防水屋面施工工艺标准.docx
- 公路土方路基施工方法.doc
- 关于水头损失根源的水力学理论探讨.docx
- 万科在给排水设计阶段的44个成本优化点.docx
- 工程质量管理关键控制点研究.doc
- 桥梁施工质量控制要点.ppt
- 天津某医院外科大楼外墙保温施工方案.doc
- [江苏]电厂机组烟气脱硫工程磨机房施工作业指导书.doc
- 大数据时代下公共管理的效用与效率研究.docx


