-1

我有以下代码可以转到下一个要处理的可用记录。

        Dim ds As New DataSet
        Dim strListType As String = Request.QueryString("ListType")
        Dim strStatusFilter As String = ""
        Select Case strListType
            Case "newmember"
                strStatusFilter = "Status_Ind in (1,4,6,8) and IsMember_Ind=1"
            Case "nonmember"
                strStatusFilter = "Status_Ind in (1,4,6,8) and IsMember_Ind=1"
            End Select

        ds = objClass.List(0, 10, "Due_Dt, Joined_Date ASC", "", strStatusFilter)

       'go to the next record
        If ds.Tables(0).Rows.Count > 0 Then
            Server.Transfer("Request.aspx?Request_ID=" & ds.Tables(0).Rows(0).Item("Request_ID") & "&ListType=" & strListType)
        Else
            Server.Transfer("List.aspx?Status=NewMember")
        End If

ObjClass.List 是一种用于运行视图和过滤数据的方法。我在两列due_dt 和joined_dt 上订购数据。

我的问题是,如果我没有更新我的截止日期,它每次都会进入相同的记录。如果不更新,我只想转到下一条记录。我可以有我想要的行为吗?我可以做出哪些改变?

谢谢

4

2 回答 2

1

以下语句返回表中的第一行:

ds.Tables(0).Rows(0).Item("Request_ID")

要获得第二行,您可以使用以下语句:

ds.Tables(0).Rows(1).Item("Request_ID")

要遍历所有行,您可以执行以下操作:

For Each row As DataRow in ds.Tables(0).Rows
    Dim requestId As Object = row.Item("Request_ID")
Next
于 2012-05-31T14:52:05.273 回答
0

使用此代码....这应该可以工作....首先您必须声明一个名为 data_row 的静态变量以及一个数据集。

public void Button1_Click(object sender, EventArgs e) { if (RowNo < sqlDst.Tables["news"].Rows.Count - 1) { RowNo += 1; DataRow drow = sqlDst.Tables["news"].Rows[RowNo];

            Label2.Text = drow.ItemArray.GetValue(0).ToString();
            TextBox2.Text = drow.ItemArray.GetValue(1).ToString();
            Label1.Text = "";

        }

        else
        {
            Label1.Text = "No more records";
        }

    }

为此,需要在页面顶部声明变量。

私有数据集 sqlDst = new DataSet(); 私有静态 int RowNo = 0; 业务检查 obj1 = 新业务检查();

于 2013-02-26T05:20:14.817 回答