搜索
编程论坛
→
.NET专区
→
『 C# 论坛 』
→ C#中 一开始点击“上一行”就溢出,求解?!
标题:
C#中 一开始点击“上一行”就溢出,求解?!
只看楼主
ji2210
等 级:
新手上路
帖 子:3
专家分:0
注 册:2012-10-25
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:5
C#中 一开始点击“上一行”就溢出,求解?!
左图是我的代码
中图是我的表
右图是我一开始运行我的表时候 点击“last”就出错了,但是如果我先按一下“next”再按一下“last”是没有问题的。这是为什么呢?
帮一下忙,我改怎么修改我的代码呢
如下是左图代码
i--;
if ((i < db.Rows.Count)==false )
{ i++; MessageBox.Show("最后一条"); }
账号栏.Text = db.Rows[i][0].ToString();
密码栏.Text = db.Rows[i][1].ToString();
搜索更多相关主题的帖子:
false
账号
2012-10-25 13:21
babylco0
等 级:
论坛游民
威 望:
1
帖 子:8
专家分:60
注 册:2012-10-18
第
2
楼
得分:7
首先看下i有没有赋初始值
其次看下db.Rows.Count的值是多少
2012-10-25 16:30
smart0721
等 级:
侠之大者
威 望:
4
帖 子:106
专家分:468
注 册:2012-2-10
第
3
楼
得分:7
估计你刚开始i的初值为0,你一开始运行后点击一开始运行后i--,i就变成-1,i < db.Rows.Count为true,后面i++就不执行,那么获取db[-1]行的数据,肯定出错了!这样按逻辑分析一下就看出来的!
其实你可以这样写
程序代码:
if
(i>
0
) { i-- }
if
(i==
0
) { MessageBox.Show(
"
最后一条
"
);
this
.last.enable=
false
;
//
失效Last按钮
}
if ((i < db.Rows.Count)==false )
{ i++; MessageBox.Show("最后一条"); }
你这样写完全没意义,if((i < db.Rows.Count)==false )相当于if(i > db.Rows.Count) last操作使i--,你不会越减越大吧?
2012-10-26 00:08
ji2210
等 级:
新手上路
帖 子:3
专家分:0
注 册:2012-10-25
第
4
楼
得分:0
回复 2楼 babylco0
这不是关键!是个不定值!
2012-10-26 09:47
ji2210
等 级:
新手上路
帖 子:3
专家分:0
注 册:2012-10-25
第
5
楼
得分:0
回复 3楼 smart0721
看到你答案蛮好的!非常感谢你的引导,可惜你这段代码在C#中运行不了!!!
2012-10-26 09:49
tyycome
等 级:
新手上路
帖 子:4
专家分:7
注 册:2013-1-6
第
6
楼
得分:0
db.rows[i][0].tostring(); i等于-1的时候 不溢出才怪 你见过谁这样写代码能获取值得 db.rows[-1][0].tostring(); ?这里rows[i]必须大于0或者等于0
代接小程序 QQ:418891000
2013-01-06 16:53
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-384032-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.150594 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved