CRecordset::open有多少种打开方式,参数是什么?
我要向数据库添加记录,请问要用什么方式打开数据库CRecordset::OPEN();函数,如何设置参数,具体意义望说明。...
我要向数据库添加记录,请问要用什么方式打开数据库CRecordset::OPEN();函数,如何设置参数,具体意义望说明。
展开
1个回答
展开全部
参数分别为"sql语句,数据库,游标类型,锁定类型"
sql语句和数据就不用说了
游标类型:
adOpenFowardOnly。对应数字1,使用前向游标,你只能在记录集中向前移动。
adOpenKeyset。对应数字2,使用Keyset游标,你可以在记录集中向前或向后移动。如果另一个用户删除或改变了一条记录,记录集中将反映这个变化。但是,如果另一个用户添加了一条新记录,新记录不会出现在记录集中。
adOpenDynamic。对应数字3,使用动态游标,你可以在记录集中向前或向后移动。其他用户造成的记录的任何变化都将在记录集中有所反映。
adOpenStatic。对应数字4,使用静态游标,你可以在记录集中向前或向后移动。但是,静态游标不会对其他用户造成的记录变化有所反映。
锁定类型;
adLockReadOnly。对应数字1,指定你不能修改记录集中的记录。
adLockPessimistic。对应数字2,指定在编辑一个记录时,立即锁定它。
adLockOptimstic。对应数字3,指定只有调用记录集的Update方法时,才锁定记录。
adLockBatchOptimstic。对应数字4,指定记录只能成批地更新。
举例:
rs为一个表
rs.open(sql,conn,1,3)
或rs.open(sql,conn,adOpenFowardOnly,adLockOptimstic)
sql语句和数据就不用说了
游标类型:
adOpenFowardOnly。对应数字1,使用前向游标,你只能在记录集中向前移动。
adOpenKeyset。对应数字2,使用Keyset游标,你可以在记录集中向前或向后移动。如果另一个用户删除或改变了一条记录,记录集中将反映这个变化。但是,如果另一个用户添加了一条新记录,新记录不会出现在记录集中。
adOpenDynamic。对应数字3,使用动态游标,你可以在记录集中向前或向后移动。其他用户造成的记录的任何变化都将在记录集中有所反映。
adOpenStatic。对应数字4,使用静态游标,你可以在记录集中向前或向后移动。但是,静态游标不会对其他用户造成的记录变化有所反映。
锁定类型;
adLockReadOnly。对应数字1,指定你不能修改记录集中的记录。
adLockPessimistic。对应数字2,指定在编辑一个记录时,立即锁定它。
adLockOptimstic。对应数字3,指定只有调用记录集的Update方法时,才锁定记录。
adLockBatchOptimstic。对应数字4,指定记录只能成批地更新。
举例:
rs为一个表
rs.open(sql,conn,1,3)
或rs.open(sql,conn,adOpenFowardOnly,adLockOptimstic)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询