首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

异常,累死人也找不出来

2013-08-16 
错误,累死人也找不出来,大家帮忙看看啊private void ShowSelf(){string sql select nickname,faceid,se

错误,累死人也找不出来,大家帮忙看看啊
  private void ShowSelf()
        {
            string sql = "select nickname,faceid,sex,age,Loginpwd,friendshippolicyid,[name],starid,bloodtypeid from USers where id = " + UserHelper.id;
            using (DataTable dt = DBHelper.GetData(sql))
            {
                picFace.Image=ilFaces.Images[int.Parse(dt.Rows[0]["faceid"].ToString())];
                picFace.Tag = int.Parse(dt.Rows[0]["faceid"].ToString());
                txtId.Text = UserHelper.id;
                txtAge.Text = dt.Rows[0]["age"].ToString();
                txtNickName.Text = dt.Rows[0]["nickname"].ToString();
                cmSex.Text = dt.Rows[0]["Sex"].ToString();
                if (!(dt.Rows[0]["name"] is DBNull))
                {
                    txtName.Text = dt.Rows[0]["name"].ToString();
                }
                if (!(dt.Rows[0]["starid"] is DBNull))
                {
                    cmStar.SelectedIndex = int.Parse(dt.Rows[0]["starid"].ToString());// 错误::InvalidArgument=“8”的值对于“SelectedIndex”无效。
参数名: SelectedIndex

                }
                else
                {
                    cmStar.SelectedIndex = 0;


                }
                if (!(dt.Rows[0]["bloodtypeid"] is DBNull))
                {
                    cmBlood.SelectedIndex = int.Parse(dt.Rows[0]["bloostypeid"].ToString());
                }
                else
                {
                    cmBlood.SelectedIndex = 0;
                }


                switch (int.Parse(dt.Rows[0]["friendShippolicyid"].ToString()))
                {
                    case 1:
                        rdoAllow.Checked = true;
                        break;
                    case 2:
                        rdoQuestion.Checked = true;
                        break;
                    default:
                        rdoNoAllow.Checked = true;
                        break;
                }
                


            }
        }

                                                                            
[解决办法]
cmStar.Items.Count 看看有没有9个。你这个错就是没有9个item,取索引8,越界了。
[解决办法]
判断下,大约索引最大值的话就扔掉,1,2,3,楼说得有理,仔细查下,要不知道索引最大值也可以,限制死赋值的数据也行
[解决办法]
这代码怎么看怎么像北大青鸟的经典教程MyQQ项目
[解决办法]
InvalidArgument=“8”的值对于“SelectedIndex”无效。


很显然你的错误是输出的是字符串"8"而不是int 类型的8,但是你的SelectedIndex只能接收int类型的8,无法接收字符串类型的"8"
[解决办法]



引用:
InvalidArgument=“8”的值对于“SelectedIndex”无效。


很显然你的错误是输出的是字符串"8"而不是int 类型的8,但是你的SelectedIndex只能接收int类型的8,无法接收字符串类型的"8"

抱歉,我看错了,你里面有个int类型的转换,那应该不是这个问题了
[解决办法]
cmStar中的项如果是动态加载,就可能是调用顺序的问题
第一步.cmStart加载内容
第二部.调用ShowSelf()

这种问题定个断点调试下不就知道了
[解决办法]
11楼说的对,你可以试下手动赋值SelectedIndex,看看是否成功,如果成功则是后边取值的问题,如果失败,看ComboBox是否有该索引。

热点排行