好久没有写ASP代码了,今天在做一个简单的留言本时,出现了一下错误:
Microsoft Office Access Database Engine 错误 '80040e14'
Insert INTO 语句的语法错误。
上网查了一下资料,才知道该错误是由一下原因造成的:
1)将保留字用作名称。大多数数据库都有一组保留字。例如,"name"是保留字,因而不能用于数据库中的列名称。
2)名称中使用特殊字符。特殊字符的示例包括: . / * : ! # & - ?
3)在列名称中使用空格。
4)当为数据库中的对象定义了输入掩码并且插入的数据与该掩码不符时,也会出现此错误。
解决该问题的方法是有以下两种:
1)在指定数据库中的列名称时,请避免使用"name"、"date"、"where"、"select"、和"level"等保留字。另外,请清除空格和特殊字符
2)当字段名与保留字相同时,我们可以在sql语句中应用[] 加以区分。
Insert into messages([names],qq,content) values ('vevb.com','76312395','我的成功与大家的支持是密不可分的')
常见数据库系统的保留字的列表,可以参考一下网页:
SQL Server 2005
http://technet.microsoft.com/zh-cn/library/ms143507.aspx Microsoft Access 2007
http://office.microsoft.com/zh-cn/access/HA100306432052.aspx Microsoft Access 2000
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q209187
MySQL
http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html