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;
}
}
}
{
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;
}
}
}
从数据库中取出的starid字段的值,可能超出SelectedIndex的范围,检查一下。
很显然你的错误是输出的是字符串"8"而不是int 类型的8,但是你的SelectedIndex只能接收int类型的8,无法接收字符串类型的"8"
抱歉,我看错了,你里面有个int类型的转换,那应该不是这个问题了
第一步.cmStart加载内容
第二部.调用ShowSelf()这种问题定个断点调试下不就知道了
cmStar.SelectedIndex =4;
cmStar.SelectedIndex =6;
cmStar.SelectedIndex =8;
加上这些句 试试看 有没有错误,单步一下 看看那句错了?