private decimal c_decAmount;c_decAmount = Convert.ToDecimal(p_stringColumnValue); p_stringColumnValue为string类型参数,为什么会提示:输入字符串的格式不正确。而且提示将字符串转换为DateTime.明明是转换为decimal类型啊?用户代码未处理 System.FormatException
Message=输入字符串的格式不正确。
Source=mscorlib
StackTrace:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
在 System.Convert.ToDecimal(String value)
在 CaliforniaFitness.Data.Table.SaleHeader.TableData.SetValueByColumnName(String p_stringColumnName, String p_stringColumnValue) 位置 C:\Documents and Settings\Administrator\桌面\2011-12-13NEWPOS\POS_Code\CaliforniaFitness.Data.Table\CaliforniaFitness.Data.Table.SaleHeader\TableData.cs:行号 168
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.Next()
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.BindToDatable(DataTable p_dtTable)
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.SelectAll(String p_stringWhereClause, String p_stringOrderBy)
InnerException:
Message=输入字符串的格式不正确。
Source=mscorlib
StackTrace:
在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
在 System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)
在 System.Convert.ToDecimal(String value)
在 CaliforniaFitness.Data.Table.SaleHeader.TableData.SetValueByColumnName(String p_stringColumnName, String p_stringColumnValue) 位置 C:\Documents and Settings\Administrator\桌面\2011-12-13NEWPOS\POS_Code\CaliforniaFitness.Data.Table\CaliforniaFitness.Data.Table.SaleHeader\TableData.cs:行号 168
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.Next()
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.BindToDatable(DataTable p_dtTable)
在 CaliforniaFitness.Data.Table.DBTable.BaseTable.SelectAll(String p_stringWhereClause, String p_stringOrderBy)
InnerException:
解决方案 »
- C#+WCF+Oracle问题
- 如何在窗体的load事件里,调用keydown事件,判断是否按下了Shift键?
- 关于devexpress的dateedit控件的问题
- 1个串口,想做到一边处理特定的串口报文,一边把全部的报文显示出来,如何做?
- c#不使用sqldmo.dll如何备份sql数据库到本地?
- 请问怎么搞像google工具条一样的IE插件啊?
- 在打印时,怎样自定义纸型
- c#写的组件问题
- 请问关于即时通信的知识
- 大虾们简单问题: 先建立文件,然后删掉文件,就会出异常: File.Create(fname); File.Delete(fname);
- c#日志记录操作
- 关于System.Windows.Forms.ComboBox的Text属性的简单问题。
另外从你的报错堆栈中没看到你所说的“提示将字符串转换为DateTime”,错误信息很正常也很明显了肯定是p_stringColumnValue值有问题
decimal d = 0;
decimal.TryParse(p_stringColumnValue, out d);
这样有个默认值以保证不出错
{
switch (p_stringColumnName)
{
case "Amount": c_decAmount = Convert.ToDecimal(p_stringColumnValue); break;
}
}
谁能帮我解决下,p_stringColumnValue为""是怎么办?
if(p_stringColumnValue不是empty且不是null)
{
c_decAmount = Convert.ToDecimal(p_stringColumnValue);
}else
{
c_decAmount=0;
}
break;
{
switch (p_stringColumnName)
{
if(!"".equal(p_stringColumnValue))
{
case "Amount": c_decAmount = Convert.ToDecimal(p_stringColumnValue); break;
}
else
{
处理或者、、、、、、
}
}
}
前面加个条件判断这个值是不是为空不就好了