代码如下,insert into语句不能执行
<%
set ocn=server.CreateObject("adodb.connection")
sql="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/mydatabase.mdb")
ocn.open(sql)
Set ocmd=server.CreateObject("adodb.command")
Set ocmd.activeconnection=ocn
ocmd.commandtext="Insert Into users(uid,pwd,sex,uname,tel,address,qq,udate) Values('ptyzhu','zhang','男','猪','3310231','南昌','610856485','2010-07-29')"
ocmd.Execute
%>
错误提示insert into语法错误,但是连接mssql数据库的话就没问题,access和mssql中的sql语句的区别么?要怎么改?
Access和MSSQL的区别也不是太大,这个错误的主要原因是日期的问题。Access的日期用“#”而不是“'”,把
ocmd.commandtext="Insert Into users(uid,pwd,sex,uname,tel,address,qq,udate) Values('ptyzhu','zhang','男','猪','3310231','南昌','610856485','2010-07-29')"
修改成:
ocmd.commandtext="Insert Into users(uid,pwd,sex,uname,tel,address,qq,udate) Values('ptyzhu','zhang','男','猪','3310231','南昌','610856485',#2010-07-29#)"
就行了。
<%
set ocn=server.CreateObject("adodb.connection")
sql="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/mydatabase.mdb")
ocn.open sql
'定义sql语句
insertsql="Insert Into users(uid,pwd,sex,uname,tel,address,qq,udate) Values('ptyzhu','zhang','男','猪','3310231','南昌','610856485','2010-07-29')"
on error resume next
' 直接执行sql语句了,进行插入
ocn.execute(insertsql)
' 捕获错误信息
if err.number<>0 then
response.write "<script>alert(""执行错误,可能原因是:"&err.Description&“."");history.back();</script>"
err.number=0
err.clear
ocn.close
set ocn=nothing
response.end
else
ocn.close
set ocn=nothing
response.write "<script>alert("'插入操作成功'");history.back();</script>"
end if
%>
sql语句本身是没有区别的,只是在定义链接数据库的时候是有区别的。链接mysql和access的语法是不一样的。