让人无语的Access关键字
做毕业设计,最初考虑到方便性,在选择数据库时就用了Access(可移植性太强了),在测试时抛出了这样的错误:
System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误异常
遍寻网上高人,说法都各不一样,不过最后还是找到了问题所在:Access保留字!
因为在数据库设计时没有考虑到列名会与Access保留字重复,遂不是很在意,结果出现如此低级错误,令人汗颜!
然而出问题的关键字也同样让人无语,因为找到问题所在时,就对着Access保留字表一一对照,可是没有重复的啊?
what a terrible thing!
那就用最笨的方法呗,宁可错杀三千,不让一人漏网!结果还真让俺找到了:position
position并没有出现在Access保留字表中,但却是Access保留字,挺让人无语的,换个名字,搞定!
附:Access保留字(很可能出现本人遇到的问题,所以还出现问题的话就只有用最笨的方法one by one了)
以下为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
Max, Min, Mod
MEMO
Module
MONEY
Move
-N
NAME
NewPass
相关文档:
using System;
using System.Data;
using System.Data.OleDb;
namespace AccessDb
{
/**//// <summary>
/// AccessDb 的摘要说明,以下信息请完整保留
/// 请在数据传递完毕后调用Close()方法,关闭数据链接。
/// </summary>
public class AccessDbClass
{
变量声 ......
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.spri ......
浅谈下载access数据库的攻与防
http://blog.csdn.net/cncco/archive/2009/06/06/4247474.aspx
一个网站的安全成功与否很大程序上取决于你的数据库是否安全,如果你的数据库被下载的话,哪么基本上你的这个网站就是别人的了。网上有很多关于这方面信息,我游览了一些网页结合我自己的一些体会,简单说说我的看法。
......
a = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\数据库.mdb;Password=管理员密码;User ID=管理员帐号;Jet OLEDB:Database Password=数据库密码;Jet OLEDB:System database=d:\system.MDW;” ' 此处用户帐户必须具有管理员权限才行,此处是指连接需要压缩的数据库的连接代码.
b = &ldq ......