当前位置:编程学习 > C#/ASP.NET >>

ASPNET设计,跨天,或者跨日期,跨月查询求救。

 我公司的GPS数据库动态的记录了车辆的位置信息,GPS的数据库每天都往不一样的表插入,
现在我隔天查询的话 需要查多个表,就是 我在页面上放 开始时间和结束时间,

应该如何写比较好?

条件就是 :
车牌号:闽ABP303
开始时间:2013-01-07 10:31:58
结束时间:2013-01-09 23:31:58、
{现在查询的话 ,假如开始时间和结束时间是隔天的,这个时候我需要查询3个表,7.8.9表}
表的名称是 fzfcd1,2,3------一直到31,就是日期号码,意思就是当天是几号就往那张表插入数据,
比如今天是21号,就往fzfcd21插入数据。
以此类推。
查询全部记录 数据库 ASPNET NET --------------------编程问答-------------------- 这个根据日期拼接SQL语句就可以了吧 --------------------编程问答-------------------- 如何拼接, 是不是使用 UNION 进行连接,有没有例子呢? --------------------编程问答-------------------- 简单的一个例子

declare @sql varchar(5000)

if 1=1
set @sql='select * from table1'



exec(@sql)
--------------------编程问答-------------------- 为啥设计成这样的方式呢?
为啥不直接是使用数据库分区呢?建好索引,俺时间分区就可以了 --------------------编程问答-------------------- --------------------编程问答-------------------- 标准的BI需求。 --------------------编程问答-------------------- 在代码里动态拼接sql,例如,
车牌号:闽ABP303
开始时间:2013-01-07 10:31:58
结束时间:2013-01-09 23:31:58
可以这样写

string[] tablesname=GetTablesName();//通过时间段得到要用到的所有表名
string wherestr = "车牌号='闽ABP303'";
string sql = "select * from {0} where {1} ";
StringBuilder sb = new StringBuilder();
foreach(string table in tablesname){
   if(sb.Length > 0)
      sb.Append(" UNION ALL ");   
   sb.Append(string.Format(sql,table,wherestr));
}
ExcuteSql(sb.ToString());//执行这个sql
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,