在asp+access下,如何用insert插入时间?(100分)

  • 主题发起人 主题发起人 iceheart
  • 开始时间 开始时间
I

iceheart

Unregistered / Unconfirmed
GUEST, unregistred user!
表timeboard里有两个字段:datefield、name
如何用ASP向里插入数据now()和一个字符串比如“iceheart”
我写
<%
m="iceheart"
n=now()
set addrs=server.createobject("adodb.recordset")
addrs.open "insert into timeboard (name,datefield) values ('"&amp;m&amp;"',"&amp;n&amp;")",conn
%>
报最后一行错误
我写
<%
m="iceheart"
n=2002-1-1
set addrs=server.createobject("adodb.recordset")
addrs.open "insert into timeboard (name,datefield) values ('"&amp;m&amp;"',"&amp;n&amp;")",conn
%>
数据库里莫明其妙地在datefield字段里出现“1905-6-22”
如果我输的N的数值不同,数据库里的这个数也会变,但反正是不我输的数:(
PS:数据库设计的是常规日期,即日期+时间型
 
最新发现,N的值即使不是日期型,只要不输入汉字、字母,而是比如“9876”之类,ASP都可以
正常运行不报错,数据库里莫名多出一个日期型的数据来:(
怎么回事啊?
 
让n=2002-1-1 08:02:23试试,
要不你就干脆直接一个字段一个字段的写算了
addrs.add
addrs.field("name").value= m
addrs.field("datefield").value= n
addrs.update
就是跟vb里面一样编程。

 
用connection
conn=...//创建connection
m="iceheart"
n="#2002-1-1#"
sqlstr="insert into timeboard (name,datefield) values ('"&amp;m&amp;"',"&amp;n&amp;")"
conn.execute sqlstr
access下日期可以表示为 #2002-1-1#
 
用“##”可以正确输入固定的日期了,但是如果要输入now()该怎么写呢?
写n="#now()#"和n=now()都无法通过
 
yanghai0437兄提的方法根本不能正确运行:(
 
建议更改日期类型为字符型,对ASP来说是一样的
 
把n声明为日期类型
 
改为:
addrs.open "insert into timeboard (name,datefield) values ('"&amp;m&amp;"','"&amp;n&amp;"')",conn
Now()可用:'#" &amp;
Now() &amp;
"#'插入
 
snowsky兄:
上面的主意可以通过,谢了!
但下面的好像不行呢,是这么写么?
addrs.open "insert into timeboard (name,datefield) values ('"&amp;m&amp;"','#"&amp;now()&amp;"#')",conn
 
直接用SQL Server的函数getdate()不行吗?
 
看看你的字段名,好多傻傻的字段名用保留字,到时候会出很多问题
 
谢谢上面兄台指教,我的字段名也的确有些问题。[:I]
 
多人接受答案了。
 
后退
顶部