菜鸟求大侠帮助,vb6.0+SQL2000问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 18:12:45
看了一堆资料也看不大懂,最后拼凑出来的代码:
目的是给局域网上一台SQL服务器,dbsdb库里的mytab表增加一条记录。
先试试看连接本机。

Private Sub Command1_Click()
Dim CN As New ADODB.Connection

If CN.State = adStateOpen Then CN.Close
CN.Open "driver={SQL Server};server=127.0.0.1;uid=work;pwd=321;database=dbsdb"
Set Rs = New ADODB.Recordset
Rs.Open "select * from mytab", CN, adOpenStatic, adLockOptimistic
Rs.Open "Insert into mytab(日期,班次,班产量) values('2009-5-9','早班',123.45)" '运行到这里的时候提示:对象打开时,不允许操作。
CN.Close
End Sub

adOpenStatic和adLockOptimistic根本不懂什么意思。

还有,如果连其他计算机的话,就改IP地址、用户名和密码就可以了吧?
我这就是全部程序了,测试用的,一个窗体就一个大按钮。
最后2句都是额为话,关键在于运行一下就提示:对象打开时,不允许操作。

rs.Open SQL,Conn,adOpenStatic,adLockOptimistic
第一个参数:sql 即SQL语句

第二个数:conn 即数据库的连接

第三个参数:
0 创建只能向前滚动的只读记录集
1 游标允许你添加,删除和修改记录,但是看不到当你的记录集打开是其他用户所做的修改
2 游标允许你添加,删除和修改记录,并且可以看到其他用户所做的修改
3 创建一个具有所有定位功能的只读记录集,即:可以向前,向后,并且可以标记书签

第四个:
1 记录是只读的,并且不能改变
2 记录在你可以对其进行编辑时是被锁定的
3 在你调用Update方法提交你所做的改变时记录是被锁定的
4 如果你在对一系列记录进行批量更新,在需要它

记录集rs.open 参数说明RS.OPEN SQL,CONN,A,B

A:

ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定