创建主键不重复的 table

Create a table with primary key no duplicate

我正在尝试通过使用 ADODB 连接的 VB6 在 MS Access 中创建 table。 这是我的代码,

dim rs as new ADODB.recordset
set rs = new ADODB.recordset
rs.Open "cretae table (StudentNumber Integer primary key)", con, 3, 3

代码运行良好,但 StudentNumber 列允许重复值。如果尝试重新输入现有学号,我希望弹出一条错误消息。

这不是 "connected using ADODB" 您使用的是 ADO。 ADODB 只是构成 ADO 的两个主要库之一。

说错了就是想错了,做错了。

这里没有理由使用 Recordset。您还应该避免使用幻数,ADO 为几乎所有内容都提供了枚举,所以没有任何借口。

con.Execute "CREATE TABLE [Students](" _
          & "[StudentNumber] LONG CONSTRAINT [PK_StudentNumber] PRIMARY KEY)", _
            , _
            adCmdText Or adExecuteNoRecords

请注意,在 JET SQL 中,INTEGER、LONG、INT 和 INTEGER4 都表示 有符号 32 位整数。如果你想要一个 带符号的 16 位整数.

,你可以说 SMALLINT、SHORT 或 INTEGER2

另请注意,CONSTRAINT 是全局数据库对象,需要唯一的名称。