今天在开发时,遇见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,如需转载请自行联系原作者