我在运行时创建了一个MS Access数据库,并尝试创建一个表。 下面的代码在运行时创建表时显示错误“CREATE TABLE语句中的语法错误”。
cmmd.CommandText = "CREATE TABLE tblContacts( [SectionID] AUTOINCREMENT PRIMARY KEY,[ScetionName] Text(50), [CatID] Number(Integer), [Rate] Number(Double), [Prefix] Text(5), [Suffix] Text(5), [NextNumber] Number(Integer), [Inactive] Yes, [ModUserID] Number(Integer),[ModDate] Date)";
cmmd.ExecuteNonQuery();
答案 0 :(得分:2)
Access数据库引擎将忽略Number(Integer)
等字段类型声明。假设您将从OleDb连接执行语句,请使用此语句...
cmmd.CommandText = "CREATE TABLE tblContacts( [SectionID] COUNTER PRIMARY KEY,[ScetionName] Text(50), [CatID] Long, [Rate] Double, [Prefix] Text(5), [Suffix] Text(5), [NextNumber] Number(Integer), [Inactive] YesNo, [ModUserID] Long,[ModDate] DateTime)";
您可以在此处找到包含有效Access DDL字段类型声明的表:Field type reference - names and values for DDL, DAO, and ADOX