1. you do not need to worry about 降序 when you are counting the records2. I am not so familiar with VB.NET, must be some hidden rule
我还是不很明白为什么我不要担心降序 你的意思是 Dim strSelect As String = "select Count(*) as TotalCount from lyb" 这个只用来取得总的纪录数吗? 然后再用Dim strSelect As String= "select * from lyb order by time desc"一次?不然降序功能从哪儿实现呢?~谢谢] ^_^
记录总数跟顺序无关tryDim strSelect As String= "select * from lyb order by time desc; select count(*) from lyb" Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect) Dim objDataSet As New DataSet() objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb") dim nCount as Integer = objDataSet.Tables(1).Rows(0).Item(0).Value
还是出错了异常详细信息: System.Data.OleDb.OleDbException: 在 SQL 语句结尾之后找到字符。源错误: 行 24: Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect) 行 25: Dim objDataSet As New DataSet() 行 26: objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb") 行 27: Dim PageCount as Integer = objDataSet.Tables(1).Rows(0).Item(0).Value 行 28: try
what database are you using? have you tried "select * from lyb order by time desc; select count(*) from lyb;" ?
too bad, get the count first, then get the recordsDim cmd as OleDbCommand cmd = new OleDbCommand("select count(*) from lyb", objConnect) Dim nCount as Integer = CType(cmd.ExecuteScalar(),Integer) '............
你如果想得到表中的记录数据的话,可以使用如下方法: Dim strSelect As String= "select * from lyb order by time desc" Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect) Dim objDataSet As New DataSet() objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb") 取表中的记录数objDataSet.tables("lyb").rows.count 可能最后一句有语法问题,试一下应该可以的。 原理就是取表的行的数量。
Dim a As String = "1111111111"
Label2.Text = "asdasd"&a&"fdsds"
<form ....>
<asp:Label id="Label2" runat="server" />
''''''''''''''''''''''
编译器错误信息: BC30277: 类型字符“&”与声明的数据类型“String”不匹配。源错误:行 10: Sub bind()
行 11: Dim a As String = "1111111111"
行 12: Label2.Text = "asdasd"&a&"fdsds"
我倒是得出规律 & 这个符号不能和string一起用Label2.Text = "asdasd"+a+"fdsds" 没错
Label2.Text = "asdasd"&Cint(a)&"fdsds" 也没错
你的意思是
Dim strSelect As String = "select Count(*) as TotalCount from lyb"
这个只用来取得总的纪录数吗?
然后再用Dim strSelect As String= "select * from lyb order by time desc"一次?不然降序功能从哪儿实现呢?~谢谢] ^_^
Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect)
Dim objDataSet As New DataSet()
objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb") dim nCount as Integer = objDataSet.Tables(1).Rows(0).Item(0).Value
行 24: Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect)
行 25: Dim objDataSet As New DataSet()
行 26: objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb")
行 27: Dim PageCount as Integer = objDataSet.Tables(1).Rows(0).Item(0).Value
行 28: try
Dim nCount as Integer = CType(cmd.ExecuteScalar(),Integer)
'............
Dim strSelect As String= "select * from lyb order by time desc"
Dim objDataAdapter As New oledbDataAdapter(strSelect,objConnect)
Dim objDataSet As New DataSet()
objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb")
取表中的记录数objDataSet.tables("lyb").rows.count
可能最后一句有语法问题,试一下应该可以的。
原理就是取表的行的数量。
PageCount = objDataSet.Tables("lyb").Rows.Count取得的只是ipagesize的
值,因为objDataAdapter.Fill(objDataSet, page*iPageSize, iPageSize, "lyb")DataAdapter只向objDataSet填充了iPageSize个记录
iPageSize是分页时每页显示的纪录数
page是当前页,如第二页则为 page=1