我刚开始学习ASP.NET,使用的是VB.NET语言,最近写了一个查询的页面,需要查询一段日期的数据,刚开始时不知如何写SELECT,只时编了按姓名及其它一个项目的查询,今天用ACCESS的查询解决了SQL的问题,但问题是查询的结果总会漏几天。
具体情况说一下吧!
由于原数据库中的时间存储格式为DAT=“2005.01.01.01.36-2005.01.02.07.55”string这种格式,我只需前面的日期,用出三个函数转换成DATE,够笨!
第一次这样,dim sq1 as string="CSDATE(REPLACE(LEFT(DAT,10),".","-"))"
在access 中的SQL为:select field , sql as dat from table where sq1>="2005-1-1" And sq1<="2005-3-1"
在ACCESS 在可以通过.但后来发现,在查询结果中,如果将起止日期规定在一月的3-10号,会返回没有记录,1-31号会漏掉3-10号的内容.
上面的查询语句在ASP.NET中会出问题,提示replace未定义.
所以用下面的更笨的办法:
dim sq2 as string="csdate(left(dat,4)+ '-' + mid(dat,6,2) + '-' + mid(dat,9,2))"
两边都可以通过,但是查询结果中总会漏掉前面所说的几项.
我在asp.net中是这么写的
dim sq2 as string="csdate(left(dat,4)+ '-' + mid(dat,6,2) + '-' + mid(dat,9,2))"
dim strconn as string="select field,field2....," & sq2 & " as dat from table " & _
"where (" & sq2 & ">='" & t1.text & "')" And (" & sq2 & "<='" & t2.text & "')"
没办法了,结果总是会遗漏一些日子.各位高手能否指点一二呢?