易截截图软件、单文件、免安装、纯绿色、仅160KB

让人疯狂的ACCESS. 时间字段无法用parameters声明

VB.NET code:
Dim strSql As New StringBuilder()
strSql.Append("select * from 定单 where 1=1 ")
strSql.Append(" and 时间 >= @开始时间 and 时间 <= @结束时间 and 账号=@账号")


Dim parameters As OleDbParameter() = {New OleDbParameter("@开始时间", OleDbType.DBDate), _
New OleDbParameter("@结束时间", OleDbType.DBDate), _
New OleDbParameter("@账号", OleDbType.VarChar)}

'这样会报不能转换的错误
parameters(0).Value = Convert.ToDateTime(sj1.ToString("yyyy-MM-dd 00:00"))
parameters(1).Value = Convert.ToDateTime(sj2.ToString("yyyy-MM-dd 59:59"))
parameters(2).Value = user

'用以下语法不会报错,就是得不到结果
'parameters(1).Value = Convert.ToDateTime(sj2.AddHours(23).AddMinutes(59).AddSeconds(59))


'用断点会得到以下字符,如果直接贴到分析器里就可以查到结果
'select * from 定单 where 1=1 and 时间 >= #12/20/2009# and 时间 <= #12/20/2009 11:59:59 PM# and 用户名='bbb'



GOOGLE了一下,发现大多数人选择了把日期当string来处理,我感觉这样用在项目中非常不好.

大家可以试一下,你会发现ACCESS非常变态.都有点讨厌MS了....
第一种写法
parameters(1).Va


相关问答:

Access查找重复问题

ACCESS数据库中有一个tablename表,设计如下 
编号,书名,作者,出版时间,出版社,ISBN,目录,简介
其中除“编号”为自动编号外,其它都为“备注” 
其中"编号"维一,在“ISBN”中有的为空值, ......

ASP+ACCESS输出问题 - Web 开发 / ASP

哪里出错了,输出这样的结果??
<%@ Page Language="VB" AutoEventWireup="false" aspcompat="true" CodeFile="Default.aspx.vb" Inherits="_Default" %&g ......

Delphi 与 ACCESS的诡异现象

delphi 2007 + access 2007 +odbc +TADODataset,TADOConnection,TADOCommand


//删除数据
procedure TCDSSelectTools.DeleteMachine(byMachineID: string);
  tmpCmd := TADOCommand.Create(ni ......

如何修改ACCESS系统表

如何修改msysobjects表中的数据呢?谢谢
啥都没有,意思不明确,再详细点吧

不要改sysobjects里的东西。
用其它方法改,表名或其他。

要在ACCESS环境下配置权限,才能访问系统表...

谢谢大家。
是这样,看 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号