c# 输入字符串的格式不正确。FormatException异常

stringanswerid="";stringid="";for(inti=0;i<this.Controls.Count;i++){if(this.Controls[... string answerid ="";
string id ="";
for (int i = 0; i < this.Controls.Count;i++ )
{
if (this.Controls[i] is RadioButton) {
RadioButton ra = (RadioButton)this.Controls[i];
if (ra.Checked)
{

answerid = ra.Text;
id = ra.Tag.ToString();
}

}
}
string save = string.Format("UPDATE [Paper] SET [Answer]='{0}' WHERE [loginName]='{1}' AND [Question]={2}", answerid, login.userN, int.Parse(id));
SqlCommand savecomm = new SqlCommand(save,conn);
savecomm.ExecuteNonQuery();
这是一个考试系统,这是其中一部分功能,当我点击下一题时 ,将选中的Radiobutton的值传到数据库中,问题出在如果选中就会传值,如果不选任何Radiobutton直接到下一题,应该会传answerid的默认值 ,而现在会出现输入字符串的格式不正确。FormatException异常,请教一下是怎么回事
谢谢 只有在我没有做出选择时 也就是 程序没经过这段代码时,answerid为默认值 会 出现问题
if (ra.Checked)
{

answerid = ra.Text;
id = ra.Tag.ToString();
}
展开
 我来答
大逸霸狼
2011-05-20 · 超过11用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:31.7万
展开全部
string save = string.Format("UPDATE [Paper] SET [Answer]='{0}' WHERE [loginName]='{1}' AND [Question]='{2}'", answerid, login.userN, int.Parse(id)); 改成这个试试 还有你 int.Parse(id) 确定传入进来的是数值型么 如果是 改成这个就可以了 如果不是 就看下id = ra.Tag.ToString();这个的值是什么值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangshuaisupin
推荐于2016-08-23 · TA获得超过1884个赞
知道小有建树答主
回答量:805
采纳率:100%
帮助的人:1225万
展开全部
你在定义string id ="";
这个变量的时候给个默认值就可以了
如:string id ="1";
---------------------------------------------
按照我上面说的改肯定可以的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newman325
2011-05-20 · 超过32用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:76.5万
展开全部
换行处用+ 分割,最好前面加个@
string.Format(@"UPDATE [Paper] SET [Answer]='{0}' WHERE [loginName]='{1}' "+
"AND [Question]={2}", answerid, login.userN, int.Parse(id));
追问
谢谢 不是这里的问题 我从c#直接复制过来的 这里自动换行了
追答
那就是很明显是int.Parse(id)的问题了,
if (ra.Checked)
{

answerid = ra.Text;
id = ra.Tag.ToString();
}
不执行,id="";
int.Parse("")就会说输入字符串的格式不正确,其他不为数字的参数一样会说格式不正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
2011-05-20 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5109万
展开全部
你如果不选择默认值id为空吧,填一个你需求的默认值,或者else一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式