关于“上一条(下一条)”功能按钮取值问题(求大神)

xy3212158 2012-08-20 10:25:20
这是我写的上一条功能按钮,
可是当到最后一条的时候Label4.text从数据取出来的是空值,然后继续按 上一条或者下一条就抱错,提示用户对象未处理,
应该是取到的DataSet为Null吧,然后就报错?
求大神指教该如何解决这个问题?

protected void btup_Click(object sender, EventArgs e)
{
Label lable4 = (Label)FormView1.FindControl("Label4");
string sqlst = "select top 1 c.fID,c.*,d.fName AS fContractType from tContractGoods a,tContract c,(select * from tContractType) d where a.fID=c.fID and c.fContractType = d.fType and c.fID > '"+lable4.Text+"'";
SqlConnection sqlco = new SqlConnection(strCon);
//创建填充数据集的适配器
SqlDataAdapter myd = new SqlDataAdapter(sqlst, sqlco);
//创建数据集
DataSet mys = new DataSet();
sqlco.Open();
myd.Fill(mys, "tContractBOM");
FormView1.DataSource = mys;
FormView2.DataSource = mys;
FormView1.DataBind();
FormView2.DataBind();
sqlco.Close();
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xy3212158 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

你错就错在这里,你应该判断当前记录的索引是否是最后一次,如果是,应该不允许再点下一条了,你这里并未限制
[/Quote]
那应该怎么限制呢....求指教。 最好有代码,谢谢。
xy3212158 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

1.判断dataset的数据是否为空则可以判断当前是否是最后一条后者最前一条
2.可以用viewstate保存你上一步骤点击到了哪一步,如果这是最后一条或者最前一条则把viewstate赋值给lable4这样点击下一步(上一步)就依旧可以获取到上一步骤的值不会报错
[/Quote]

取最大最小的代码应该怎么写? 小弟新手,第一次做项目所以很多不懂。
如果可以最好把保存的代码也写出来让我学习下,谢谢了。
天下如山 2012-08-20
  • 打赏
  • 举报
回复
1、直接先进行取得最大和最小 存入变量 然后在显示下一页 上一页的时候加入判断即可。
如果是每次都回发的话,就如楼上 可以存到viewstate里面
foreveryimada 2012-08-20
  • 打赏
  • 举报
回复
1.判断dataset的数据是否为空则可以判断当前是否是最后一条后者最前一条
2.可以用viewstate保存你上一步骤点击到了哪一步,如果这是最后一条或者最前一条则把viewstate赋值给lable4这样点击下一步(上一步)就依旧可以获取到上一步骤的值不会报错
robake 2012-08-20
  • 打赏
  • 举报
回复
你错就错在这里,你应该判断当前记录的索引是否是最后一次,如果是,应该不允许再点下一条了,你这里并未限制
woshimaikou 2012-08-20
  • 打赏
  • 举报
回复
判断下你mys[0]表中是否存在数据行。在进行绑定
xy3212158 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

试下将SQL语句输出来在查询分析器里运行看看。

你这个问题应该是索引不正确造成的
[/Quote]

大哥你有没有 认真看啊,我的目的是要如何判断这是在数据库里的最后一条数据(fID的最大值或最小值)
然后就让上一条(下一条)的Enabled 为false.
因为不取到空值功能是正确的
robake 2012-08-20
  • 打赏
  • 举报
回复
试下将SQL语句输出来在查询分析器里运行看看。

你这个问题应该是索引不正确造成的
洪生鹏 2012-08-20
  • 打赏
  • 举报
回复
个人建议 这样的问题 应该用无刷新处理好点……http://hongshengpeng.com/article/show/89.aspx
这个不妨抽空看看,希望对你学习有帮助
xy3212158 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

1、直接先进行取得最大和最小 存入变量 然后在显示下一页 上一页的时候加入判断即可。
如果是每次都回发的话,就如楼上 可以存到viewstate里面
[/Quote]

如果添加了数据,那最大和最小值不是变了麽?
xuan.ye 2012-08-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 4 楼 的回复:

你错就错在这里,你应该判断当前记录的索引是否是最后一次,如果是,应该不允许再点下一条了,你这里并未限制

那应该怎么限制呢....求指教。 最好有代码,谢谢。
[/Quote]
根据数据库不同,应该从数据集应当由 rownumber,用这个来判断

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧