是你的打开记录集时的参数不足或不正确,造成的!rs.open sqlstr,conn,3,1是打开数据库的方式呀具体是这样的RecordSet对象打开数据表的语法是这样的:RS.Open 数据来源,数据链路,指针类型,锁定方式其中的参数意义如下: 数据来源:指定数据表的名称 数据链路:指定一个已经申明的Connection对象,当使用RecordSet对象的Open方法建立一个连接的时候,必须使用Connection对象保证连接的安全。 指针类型:设置打开RecordSet的指针类型,其参数值可以设置为0至3,各个值的意义如下:①adOpenForwardOnly/0:打开一个只能向前移动的指针,这是默认值;②adOpenKeyset/1:表示打开一个Keyset type记录指针,使用该指针无法读取其他用户添加或删除的数据,但是更新的数据会立即显示支持双向指针。③adOpenDynamic/2:打开一个动态指针,使用该指针可以如实反映其他用户操作数据库的情况。④adOpenStatic/3:表示打开一个静态指针,指针无法实时反映其他用户操作数据库的情况,通常用于搜索或添加记录时使用,支持双向指针。 锁定方式:可以设置所打开RecordSet的锁定状态,其参数值可以设置为1到4,各个值的意义如下:①adLockReadOnly/1:将RecordSet打开为只读状态,此为默认值。②adLockPessimistic/2:当用户对RecordSet中某条记录作编辑时便锁定记录。③adLockOptimistic/3:当用户调用Update函数对RecordSet作更新时才锁定记录。④adLockBatchOptimistic/4:用户做批次更新时才锁定记录。你试试 rs.open sql,conn,1,3