真烂的Access及Access关键字

简介:
以前做数据库开发一直使用SQL Server和MySQL来开发,有比较好的工具,通常遇到关键字会以变色字体演示,一般到也不会出现什么问题,最近做一个小东东,想尝试一下Access,经常是在直接用SQL语句查询没有问题,一到程序里面就不行了,动不动就报“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”这个错误,查了半天才知道是因为使用了Access的关键字,我吐,发誓以后再也不用Access了。
 
为了避免大家犯同样的错误,现将Access的关键字列出来,如果以后在编程中你遇到了同样的错误,请看看是否使用了Access的关键字。
-A 
         ADD 
         ALL 
        Alphanumeric 
         ALTER 
         AND 
         ANY 
        Application 
         AS 
         ASC 
        Assistant 
             AT 
        AUTOINCREMENT 
         Avg 
-B 
         BETWEEN 
         BINARY 
         BIT 
        BOOLEAN 
         BY 
        BYTE 
-C 
         CHAR, CHARACTER 
         COLUMN 
        CompactDatabase 
         CONSTRAINT 
        Container 
         Count 
        COUNTER 
         CREATE 
        CreateDatabase 
        CreateField 
        CreateGroup 
        CreateIndex 
        CreateObject 
        CreateProperty 
        CreateRelation 
        CreateTableDef 
        CreateUser 
        CreateWorkspace 
        CURRENCY 
        CurrentUser 
-D 
         DATABASE 
        DATE 
         DATETIME 
         DELETE 
         DESC 
        Description 
        DISALLOW 
         DISTINCT 
        DISTINCTROW 
        Document 
         DOUBLE 
         DROP 
-E 
        Echo 
         Else 
         End 
        Eqv 
        Error 
         EXISTS 
         Exit 
-F 
        FALSE 
        Field, Fields 
        FillCache 
         FLOAT, FLOAT4, FLOAT8 
         FOREIGN 
        Form, Forms 
         FROM 
         Full 
        FUNCTION 
-G 
        GENERAL 
        GetObject 
        GetOption 
        GotoPage 
         GROUP 
         GROUP  BY 
        GUID 
-H 
         HAVING 
-I 
        Idle 
        IEEEDOUBLE, IEEESINGLE 
         If 
        IGNORE 
        Imp 
         IN 
         INDEX 
         Index, Indexes 
         INNER 
         INSERT 
        InsertText 
         INT, INTEGER, INTEGER1, INTEGER2, INTEGER4 
         INTO 
         IS 
-J 
         JOIN 
-K 
         KEY 
-L 
        LastModified 
         LEFT 
         Level 
         Like 
        LOGICAL, LOGICAL1 
        LONG, LONGBINARY, LONGTEXT 
                                 
-M 
        Macro 
        Match 
         MaxMin, Mod 
        MEMO 
        Module 
         MONEY 
        Move 
-N 
         NAME 
        NewPassword 
        NO 
         Not 
        Note 
         NULL 
        NUMBER, NUMERIC 
-O 
        Object 
        OLEOBJECT 
         OFF 
         ON 
        OpenRecordset 
         OPTION 
         OR 
         ORDER 
        Orientation 
         Outer 
        OWNERACCESS 
-P 
        Parameter 
        PARAMETERS 
        Partial 
             Password 
         PERCENT 
        PIVOT 
         PRIMARY 
         PROCEDURE 
        Property 
-Q 
        Queries 
        Query 
        Quit 
-R 
         REAL 
        Recalc 
        Recordset 
         REFERENCES 
        Refresh 
        RefreshLink 
        RegisterDatabase 
        Relation 
        Repaint 
        RepairDatabase 
        Report 
        Reports 
        Requery 
         RIGHT 
-S 
        SCREEN 
        SECTION 
         SELECT 
         SET 
        SetFocus 
        SetOption 
        SHORT 
        SINGLE 
                 Size 
         SMALLINT 
         SOME 
        SQL 
        StDev, StDevP 
        STRING 
         Sum 
-T 
         TABLE 
        TableDef, TableDefs 
        TableID 
         TEXT 
        TIME,  TIMESTAMP 
         TOP 
        TRANSFORM 
        TRUE 
        Type 
-U 
         UNION 
         UNIQUE 
         UPDATE 
         USER 
-V 
        VALUE 
         VALUES 
        Var, VarP 
         VARBINARYVARCHAR 
-W 
         WHERE 
         WITH 
        Workspace 
-X 
        Xor 
-Y 
         Year 
        YES 
        YESNO
 
2008年1月11日更新说明:在此把回帖用户补充的关键字都补上了。
最后说明一下:在Access中和在MS SQL中一样,对关键字的转义是使用“[”和“]”的,比如你的数据库中某个表中有以上述关键字作为字段名的,记得在该字段前后分别加上“[”和“]”,如[user],[password],[yes],不过建议还是尽量避免使用关键字。
另外有情提示:如果遇见报“insert into"语句错误的情况,多半就是因为你使用关键字了。记得转义或者更改字段名。














本文转自周金桥51CTO博客,原文链接:  http://blog.51cto.com/zhoufoxcn/166428 ,如需转载请自行联系原作者

相关文章
Access Key ID(AK)或者Secret Access Key(AK)可能存在错误或者已失效
Access Key ID(AK)或者Secret Access Key(AK)可能存在错误或者已失效
812 1
|
分布式计算 MaxCompute Java
ODPS-0420095: Access Denied
最近想用阿里的MaxCompute,然后我自己写了一个mr程序,用MaxCompute Studio中的一键发布"Deploy to server"后,用客户端去执行jar,抛出了Access Denied的异常,请问是我没有开通MaxCompute的缘故吗?(目前申请使用的MaxCompute是开发版),还是我配置的问题?Exception in thread "main" com.
2712 0
|
.NET API Apache
[认证授权] 6.Permission Based Access Control
在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证。那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如我有一个API,/books,它具...
1287 0
|
网络协议 网络安全 iOS开发