2014-12-02 37 views
0

我与ADODB工作,我的JavaScript与ms.access连接(地狱啊,我知道它不应该用js)和使用IE8转换。 我可以连接,插入,更新,删除。但是,当我想插入或更新特定行的数据类型datetime访问时,您可以帮助我如何转换数据类型字符串,以便它可以在datetime ms.access兼容的问题。从字符串JavaScript来访问日期时间

我试图把它转换成日期,但错误仍然显示类型不匹配......这里是我的代码

var adoConn = new ActiveXObject("ADODB.Connection"); 
 
var adoRS = new ActiveXObject("ADODB.Recordset"); 
 

 
adoConn.Open(conString); 
 
adoRS.Open("SELECT * FROM tableName", adoConn, 1, 3); 
 

 
var s = new Date("11/27/2014"); 
 
adoRS.AddNew; 
 
adoRS.Fields("myDateColumn").value = s; 
 
adoRS.Update; 
 
adoRS.Close(); 
 
adoRS = null; 
 
adoConn.Close(); 
 
adoConn = null;
我已经通过一些网站,说明连接访问搜索沉绵他们不给有关日期时间问题的一些例子,由于之前

+0

尝试使用国际日期格式YYYY-MM-DD HH:MM:SS – 2014-12-02 09:15:39

+0

感谢您的想法,但它仍然没有任何效果。我将字符串更改为完整格式,并且错误仍显示 – rifleon 2014-12-02 09:20:29

+0

错误消息是什么? – 2014-12-02 09:21:19

回答

0

啊终于被我知道是我不好。我应尽量不转化为日期第一, 我尝试直接与数据类型的字符串插入,它真的震撼了我,因为成功! 此外,如果你想插入日期值“2014年1月2日”,尝试把它变成2位数的月份和日期值。因此,它必须是“2014年1月2日”

+0

您是否知道**(1)** Jet数据库引擎(ACE)将始终解释'01/02/2014' 为1月2日,甚至在一些机器上的短日期格式已经被设置为在Windows中是'dd/mm/yyyy',**(2)** ACE会接受明确的'yyyy/mm/dd'格式并正确解释它? – 2014-12-02 10:02:16

+0

是的,我知道(1),我总是用模式为mm/dd/yyyy的 工作(2)我只知道这件事,还是要谢谢你 – rifleon 2014-12-03 03:08:18

1

试试这个代码:

new Date().toISOString().replace('T', ' ').slice(0, -5) 
+1

尝试包括在你的代码,这样做实际上OP理解它的解释。 – LinusGeffarth 2015-06-21 20:46:13

1

JScript的Date对象提供getVarDate方法转换到Date VT_DATE格式的目的(这是由ADODB预期):

adoRS.Fields("myDateColumn").value = s.getVarDate();