我正在尝试使用adodb.recordset
rst.Open "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT", conn, adopendynamic, adlockoptimistic
我收到以下错误
ADODB.Recordset错误'800a0bb9'
参数类型错误,超出可接受的范围,或者是 相互冲突。
答案 0 :(得分:2)
ADODB.Recordset
是一个旨在包含记录的对象。
ALTER TABLE
语句不会返回记录。
这是rst.Open
冲突的原因---您没有为Open
方法提供Recordset
的有效数据源。
假设您的conn
对象变量是有效的开放式连接,请使用其Execute
方法执行ALTER TABLE
,如下所示:
conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT"
请注意,未指定大小的Access SQL TEXT
类型实际上会在从ADO执行时为您提供备注字段。如果您想要一个简单的文本字段,请在TEXT
关键字后面加上一个大小。 Access文本字段的最大大小为255个字符。如果您愿意,可以用较小的数字替换。
conn.Execute "ALTER TABLE tblPatients ADD COLUMN husband_profession TEXT (255)"