作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 OleDb 处理 MS Access 数据库文件。这是片段:
OleDbCommand command = oleDbConnection.CreateCommand();
command.CommandText =
"CREATE TABLE MyTable (" +
"[Count] LONG NOT NULL PRIMARY KEY AUTOINCREMENT, " +
"[TimeAndDateTested] TIMESTAMP NOT NULL, " +
"[SerialNumber] VARCHAR(14) NOT NULL, " +
"[TestResult] BIT NOT NULL)";
command.ExecuteNonQuery();
你知道这是怎么回事吗?谢谢。
最佳答案
在 Access 2003 中,此语句将创建我认为您想要的表结构。请注意,我将第一个字段的名称更改为 Kount,因为 Count 是 Access 中的保留字。您可以将名称括在方括号中以避免歧义,但我更愿意避免使用保留字作为对象名称。 TIMESTAMP 被认为是 DATETIME 的同义词。 VARCHAR 被认为是 TEXT 的同义词。 BIT 将为您提供 Access 调用是/否的字段类型。
CREATE TABLE MyTable2 (
Kount COUNTER CONSTRAINT pkey PRIMARY KEY,
TimeAndDateTested TIMESTAMP NOT NULL,
SerialNumber VARCHAR(14) NOT NULL,
TestResult BIT NOT NULL);
我给Kount分配了一个主键约束,并将约束命名为“pkey”。 Not Null 和 unique 是主键约束隐含的,所以你不需要单独指定它们。
关于c# - AUTOINCREMENT 不适用于 OleDbCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789531/
我是一名优秀的程序员,十分优秀!