我有以下代码转到下一个要处理的可用记录。
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上订购数据。
我的问题是,如果我没有更新我的截止日期,它每次都会转到同一条记录。如果我没有更新它,我只想进入下一条记录。我可以拥有自己想要的行为吗?我能做出什么改变?
由于
答案 0 :(得分: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
答案 1 :(得分: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”]。行[RowNo];
Label2.Text = drow.ItemArray.GetValue(0).ToString(); TextBox2.Text = drow.ItemArray.GetValue(1).ToString(); Label1.Text = ""; } else { Label1.Text = "No more records"; } }
要使其工作,需要在页面顶部声明变量。
private DataSet sqlDst = new DataSet(); private static int RowNo = 0; businesscheck obj1 = new businesscheck();