1.关键字:如果你的数据库的表的设计包含了Access包含的关键字,则在插入的时候会出现“Insert Into 语法错误”
例如:
string sqlText = String.Format("Insert into TestTable(Id,Order) values ({0},{1})",123,0);
这行上面这条语句是失败的,原因是TestTable表中有一个关键字"Order",解决办法:
(1).将语句中的关键字用[order]处理就可以了。如:
string sqlText = String.Format("Insert into TestTable(TestId,[Order]) values ({0},{1})",123,0);
(2).将所有的字段都用[]括起来,这在许多代码生成器中都采用这种方式来解决关键字的冲突问题。如:
string sqlText = String.Format("Insert into TestTable([Id],[Order]) values ({0},{1})",123,0);
(3).在设计数据库的时候尽量避免使用Access本身的保留字。这样就不会出现应为关键字问题引起的错误了,这也是最佳的解决方法。
2.文本类型:字符类型引起的“Insert Into 语法错误”,通常是因为数据库设计的时候字段是字符型的,结果在Insert into 的时候字段值没有加''引起的。
例如:
string sqlText = String.Format("Insert into TestTable(TestId,TestName) values ({0},{1})",123,”cnblogs");
说明:
Test 是数字型字段,TestName 是文本型字段
上面的操作会出现:“Insert Into 语法错误”
解决方法:在操作的时候给 Name字段的值加上''可解决问题,如:
string sqlText = String.Format("Insert into TestTable(TestId,TestName) values ({0},‘{1}’)",123,”cnblogs");
3.备注类型:备注类型的字段和文本字段一样,碰到问题,可以用同样的方法解决
4.日期/时间类型:日期/时间类型的字段和文本字段一样,碰到问题可以用同样的解决方法
Access 数据库的关键字:
-A
ADDALLAlphanumericALTERANDANYApplicationASASCAssistantAUTOINCREMENTAvg-BBETWEENBINARYBITBOOLEANBYBYTE-CCHAR, CHARACTERCOLUMNCompactDatabaseCONSTRAINTContainerCountCOUNTERCREATECreateDatabaseCreateFieldCreateGroupCreateIndexCreateobjectCreatePropertyCreateRelationCreateTableDefCreateUserCreateWorkspaceCURRENCYCurrentUser-DDATABASEDATEDATETIMEdeleteDESCDescriptionDISALLOWDISTINCTDISTINCTROWDocumentDOUBLEdrop-EEchoElseEndEqvErrorEXISTSExit-FFALSEField, FieldsFillCacheFLOAT, FLOAT4, FLOAT8FOREIGNForm, FormsFROMFullFUNCTION-GGENERALGetobjectGetOptionGotoPageGROUPGROUPBYGUID-HHAVING-IIdleIEEEDOUBLE, IEEESINGLEIfIGNOREImpININDEXIndex, IndexesINNERINSERTInsertTextINT, INTEGER, INTEGER1, INTEGER2, INTEGER4INTOIS-JJOIN-KKEY-LLastModifiedLEFTLevelLikeLOGICAL, LOGICAL1LONG, LONGBINARY, LONGTEXT-M
MacroMatchMax, Min, ModMEMOModuleMONEYMove-NNAMENewPasswordNONotNoteNULLNUMBER, NUMERIC-OobjectOLEobjectOFFONOpenRecordsetOPTIONORORDEROrientationOuterOWNERACCESS-PParameterPARAMETERSPartialPERCENTPIVOTPRIMARYPROCEDUREProperty-QQueriesQueryQuit-RREALRecalcRecordsetREFERENCESRefreshRefreshLinkRegisterDatabaseRelationRepaintRepairDatabaseReportReportsRequeryRIGHT-SSCREENSECTIONSELECTSETSetFocusSetOptionSHORTSINGLESMALLINTSOMESQLStDev, StDevPSTRINGSIZESum-TTABLETableDef, TableDefsTableIDTEXTTIME, TIMESTAMPTOPTRANSFORMTRUEType-UUNIONUNIQUEupdateUSER-VVALUEVALUESVar, VarPVARBINARY, VARCHAR-WWHEREWITHWorkspace-XXor-YYearYESYESNO--------------------- 原文:https://blog.csdn.net/zisongjia/article/details/72878232