当前位置:编程学习 > VB >>

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 ... "
       --------------------编程问答-------------------- --------------------编程问答--------------------
引用 2 楼 leftie 的回复:
建议1:不要将user等关键字作为表名与字段名使用
建议2:
  增加记录:conn.execute " insert into 表名(...) values(...)"
  修改记录:conn.execute " update 表名 set ... where ... "
  删除记录:conn.execute " delete from 表名 where ... "

支持。
楼主您以上的语句都没有添加和删除的语句,只有更新呢。所以您怎么删除和添加啊? --------------------编程问答-------------------- 楼主的结构定义有点问题
不如再建一张表或user表与project直接关联好处理一些。

补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,