让人疯狂的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数据库中有一个tablename表,设计如下
编号,书名,作者,出版时间,出版社,ISBN,目录,简介
其中除“编号”为自动编号外,其它都为“备注”
其中"编号"维一,在“ISBN”中有的为空值, ......
哪里出错了,输出这样的结果??
<%@ Page Language="VB" AutoEventWireup="false" aspcompat="true" CodeFile="Default.aspx.vb" Inherits="_Default" %&g ......
delphi 2007 + access 2007 +odbc +TADODataset,TADOConnection,TADOCommand
//删除数据
procedure TCDSSelectTools.DeleteMachine(byMachineID: string);
tmpCmd := TADOCommand.Create(ni ......
如何修改msysobjects表中的数据呢?谢谢
啥都没有,意思不明确,再详细点吧
不要改sysobjects里的东西。
用其它方法改,表名或其他。
要在ACCESS环境下配置权限,才能访问系统表...
谢谢大家。
是这样,看 ......