| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1132 人关注过本帖
标题:[求助]请大家看看(已经解决)
只看楼主 加入收藏
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
结帖率:100%
收藏
 问题点数:0 回复次数:14 
[求助]请大家看看(已经解决)

只要点"核对"按钮就报错.主要是获取物资的名称,现在无法获取.
Input string was not in a correct format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.FormatException: Input string was not in a correct format.

Source Error:


Line 208:MinCount[i] = int.Parse(this.gv_Massage.Rows[i].Cells[4].Text.Trim()); //获取最低数量值
Line 209: SaveCount[i] = int.Parse(this.gv_TakesInventoryMessage.Rows[i].Cells[2].Text.Trim());//获取库存数量
Line 210: m_MaterailCaption[i] = int.Parse(this.gv_Massage.Rows[i].Cells[3].Text.Trim());//获取物资名称
Line 211: if (MinCount[i] < SaveCount[i]) //当最低数量小于库存数量
Line 212: {


Source File: d:\Csharp\MaterialMIS\MaterialMIS\MaterialInfo\TakesInventory.aspx.cs Line: 210


代码如下(红色为相关的代码):

protected void btn_DataCheckup_Click(object sender, EventArgs e)
{
int row = this.gv_Massage.Rows.Count; //取物资盘存信息清单的行数
int rows = this.gv_TakesInventoryMessage.Rows.Count; //取物资库存信息表的行数
//比较行数
if (row != rows)
{
ScriptUtils.AlertAndFocus("数据表中的行数不一致,不能进行核对!", "txt_ID", this);
return;
}
else
{
//定义数组w
int[] MinCount = new int[20];
int[] SaveCount = new int[20];
int[] m_MaterailCaption = new int[20];
for (int i = 0; i < rows; i++)
{
//获取列的值
MinCount[i] = int.Parse(this.gv_Massage.Rows[i].Cells[4].Text.Trim());//获取最低数量值
SaveCount[i] = int.Parse(this.gv_TakesInventoryMessage.Rows[i].Cells[2].Text.Trim());//获取库存数量
m_MaterailCaption[i] = int.Parse(this.gv_Massage.Rows[i].Cells[3].Text.Trim()); //获取物资名称
if (MinCount[i] < SaveCount[i]) //当最低数量小于库存数量
{
lb_ErrorMessage.Text += "<font color='#ff0000'>";
lb_ErrorMessage.Text += "物资名称为:['"+ m_MaterailCaption +"'],数据不一致,表现为盘亏,请修改.";
lb_ErrorMessage.Text += "</font>";
}
else
{
if (MinCount[i] > SaveCount[i]) //当最低数量大于库存数量
{
lb_ErrorMessage.Text += "<font color='#ff0000'>";
lb_ErrorMessage.Text += "物资名称为:['"+ m_MaterailCaption +"'],数据不一致,表现为盘溢,请修改.";
lb_ErrorMessage.Text += "</font>";
}
else { }
}
}
}


[此贴子已经被作者于2007-3-1 10:20:17编辑过]

搜索更多相关主题的帖子: web Input format string 
2007-02-26 16:02
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
m_MaterailCaption[i] = int.Parse(this.gv_Massage.Rows[i].Cells[3].Text.Trim());
是不是不是数字字符串,拿去强制转换

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-26 16:11
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
你是说去掉强制转换?

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-02-26 16:38
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
this.gv_Massage.Rows[i].Cells[3].Text.Trim();这个的值是不是有非数字的字母啊

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-26 16:40
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 


是我搞错了
物资名称是字符
string[] m_MaterailCaption = new string[20];
这样可以不
现在数据库服务器有问题连接不上郁闷


有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-02-26 16:44
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
不知道,你运行下看看

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-02-26 16:48
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
现在数据库连接不上
不管怎样先谢了
我爱吃棉花糖

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-02-26 17:03
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
楼主的方法不好.
如果有两行里面的数据都出现"盘亏"或"盘溢",那么最终也只能显示一条提示信息出来..

飘过~~
2007-02-26 19:24
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
那有什么好方法呢?

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-02-26 20:00
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
收藏
得分:0 
if (MinCount[i] < SaveCount[i]) //当最低数量小于库存数量
{
lb_ErrorMessage.Text += "<font color='#ff0000'>";
lb_ErrorMessage.Text += "物资名称为[' "+ m_MaterailCaption + "'],数据不一致,表现为盘亏,请修改.<br>";
lb_ErrorMessage.Text += "</font>";
if (MinCount[i] > SaveCount[i]) //当最低数量大于库存数量
{
lb_ErrorMessage.Text += "<font color='#ff0000'>";
lb_ErrorMessage.Text += "物资名称为['" + m_MaterailCaption + "'],数据不一致,表现为盘溢,请修改.<br>";
lb_ErrorMessage.Text += "</font>";
}
else { }
}
else
{
lb_ErrorMessage.Text += "<font color='#ff0000'>";
lb_ErrorMessage.Text += "数据完全一致!";
lb_ErrorMessage.Text += "</font>";
}


我这里始终得不到物资名称,该这么改哦
还有lb_ErrorMessage.Text += "数据完全一致!";
这段代码改写到什么地方哦
要求数据完全一致提示出来。

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-02-28 14:22
快速回复:[求助]请大家看看(已经解决)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029039 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved