vb操作数据表中数据问题
各位VB高手:我用一个用VB编写的计划管理软件,里面用到连接一个access数据表user,数据表user中有一列是project项,在软件里面添加一条记录,则在user表的project项下增加一个名字,比如为nixu1,但是现在我把刚添加的那条记录删除,则看project项下的nixu1也删除了。如果在这时候我继续添加和刚刚删除的那条记录完全一样的记录,则在project项下显示的不是一个nixu1,而是nixu1,nixu1,连续两个。这是为什么呢,删除后明显看到数据表中没有了,但是添加一条记录,他又会显示两条记录(好像还包括删除的那一条)。谢谢各位大哥大姐指教一下!!!
问题补充:
下面是在user表中更新project的的VB语句:
Rs_Login.Open "select * from [user]", Conn, 3, 2 'write locked
If Rs_Login.RecordCount > 0 Then Rs_Login.MoveFirst 'move to the last
RunTrans "UPDATE [user] SET [project]='" & CurrUser.UIRealEdit & "' where [user]='" & CurrUser.UIname & "'", Conn 'update dbase
Rs_Login.Close
这是在user表中删除project的的VB语句:
Rs_Login.Open "select * from [user] where [user]='" & ownerss & "'", Conn, 3, 2 'write locked
Dim Str20 As String
If IsNull(Rs_Login!project) = False Then Str20 = Rs_Login!project
If Trim(Str20) <> "" Then
If InStr(Str20, Eqmts & ";") > 0 Then
Str20 = Replace(Str20, Eqmts & ";", "")
ElseIf InStr(Str20, Eqmts) > 0 Then
Str20 = Replace(Str20, Eqmts, "")
Else
GoTo Err
End If
If Right(Str20, 1) = ";" Then Str20 = Left(Str20, Len(Str20) - 1)
If Rs_Login.RecordCount > 0 Then Rs_Login.MoveFirst 'move to the last
RunTrans "UPDATE [user] SET [project]='" & Str20 & "' where [user]='" & ownerss & "'", Conn 'update dbase
End If
Rs_Login.Close
各位大哥大姐,帮我看看这两段段代码有什么问题吗?万分感谢!!!
--------------------编程问答-------------------- 我怎么没有看到删除语句呀,删除要这样写
Rs_Login.Open "delete from user where project='" & Str20 & "'", Conn, 3, 2 --------------------编程问答-------------------- 建议1:不要将user等关键字作为表名与字段名使用
建议2:
增加记录:conn.execute " insert into 表名(...) values(...)"
修改记录:conn.execute " update 表名 set ... where ... "
删除记录:conn.execute " delete from 表名 where ... "
--------------------编程问答-------------------- --------------------编程问答--------------------
支持。
楼主您以上的语句都没有添加和删除的语句,只有更新呢。所以您怎么删除和添加啊? --------------------编程问答-------------------- 楼主的结构定义有点问题
不如再建一张表或user表与project直接关联好处理一些。
补充:VB , 数据库(包含打印,安装,报表)