好久沒有寫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 ('CSSLong','369539183','我的成功與大家的支持是密不可分的')
常見數據庫系統的保留字的列表,可以參考一下網頁:
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