今天在开发时,遇见Access,一条sleect语句在Access的查询分析器里面执行正常,却在Ole 程序执行时候报错:具体意思是说你没有权限操作,System.Data错误。
解决方案:在字段名和表名上加上[]分隔符。
我觉得很郁闷的就是Access的查询器里面执行却不报错,也许它有默认的兼容吧。
同时为了避免再次犯同样的错误,现将Access的关键字列出来:
- A ADD ALL Alphanumeric ALTER AND ANY Application AS ASC Assistant 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 Max , Min , 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 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 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 VARBINARY , VARCHAR - W WHERE WITH Workspace - X Xor - Y Year YES YESNO 本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/archive/2010/09/09/1822350.html,如需转载请自行联系原作者