以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何始终保持一行数据,不够自动增加,多余则自动删除  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=9147)

--  作者:红叶
--  发布时间:2011/2/28 16:09:00
--  如何始终保持一行数据,不够自动增加,多余则自动删除

如何在AfterOpenProject中判断"表A"(表已加载)是否存在一行而且只存在一行,如果不存在行就增加一行,如果存在多行就删除多余的行


--  作者:狐狸爸爸
--  发布时间:2011/2/28 16:18:00
--  

1、建议你提问的时候,标题要简单描述一下问题,不能不管任何问题,都是一样的标题。例如你这个问题的标题可以改为“如何始终只保持一行数据”,这样便于他人查阅.

2、在AfterOpenProject事件设置代码:

 

Dim dt As DataTable = DataTables("表A")
Select Case dt.DataRows.Count
    Case 0
        dt.Addnew()
    Case 1
    Case Else
        For i As Integer = 1 To dt.DataRows.Count - 1
            dt.DataRows(1).Delete()
        Next
End Select


--  作者:狐狸爸爸
--  发布时间:2011/2/28 16:26:00
--  
 代码改为这样,会好理解一点:

Dim dt As DataTable = DataTables("表A")
If dt.DataRows.Count = 0 Then
    dt.Addnew()
Else
    dt.DeleteFor("[_Identify] <> " & dt.DataRows(0)("_identify"))
End If

--  作者:红叶
--  发布时间:2011/2/28 16:29:00
--  
感谢狐爸,第一点记住了,下回改正,第二点的代码也很OK