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

字符串格式化出错解决思路

2012-02-16 
字符串格式化出错StringstrString.Format( insertintoPlan(Name,ContentKind,StockPlan,StockFact,Phase

字符串格式化出错
String   str   =   String.Format( "insert   into   Plan(Name,ContentKind,StockPlan,StockFact,Phase,PhaseKind,ActWay,TimeFrom,TimeTo,Days,Source,FeeKind,PactSum,PhaseBudget,NWBudget,UnSet)   values( '{0} ', '{1} ', '{2} ', '{3} ', '{4} ', '{5} ', '{6} ', '{7:d} ', '{8:d} ', '{9} ', '{10} ', '{11} ', '{12} ', '{13} ', '{14} ', '{15} ') ",
                                                                              comboBoxName.Text,   textBoxContent.Text,comboBoxStockPlan.Text,comboBoxStockFact.Text,
                                                                              comboBoxPhase.Text,comboBoxPhaseKind.Text,comboBoxFactKind.Text,tmF.Date,   tmT.Date,
                                                                              Int32.Parse(textBoxDays.Text),textBoxSource.Text,   comboBoxFeeKind.Text,  
                                                                              Int32.Parse(textBoxPactSum.Text)   ,Int32.Parse(textBoxPhaseBudget.Text),
                                                                              textBoxPhaseBudget.Text,   textBoxUnSet.Text);


执行时报错,说是字符串格式化错误!
帮忙分析一下!
谢谢

[解决办法]
晕,你行啊,这么多个
[解决办法]
如果参数个数正确,String.Format应该不会错,可能出错的是Int32.Parse后面的参数。


[解决办法]
你最好分几段格式化连接字符串,这么多个,还得一个个的数哦

从性能上考虑,太长了,最好使用 StringBuilder
[解决办法]
String str = = String.Format( "insert into Plan(Name,ContentKind,StockPlan,StockFact,Phase,PhaseKind,ActWay, " _
+ "TimeFrom,TimeTo,Days,Source,FeeKind,PactSum,PhaseBudget,NWBudget,UnSet) " _
+ "values( '{0} ', '{1} ', '{2} ', '{3} ', '{4} ', '{5} ', '{6} ', '{7:d} ', '{8:d} ', '{9} ', '{10} ', '{11} ', '{12} ', '{13} ', '{14} ', '{15} ') ", _
" ", " ", " ", " ", _
" ", " ", " ", Now, Now, _
Int32.Parse( "1 "), " ", " ", _
Int32.Parse( "2 "), Int32.Parse( "3 "), _


" ", " ")
这么试验了一下没什么问题啊,估计像 hbxtlhx 所说。
[解决办法]
Int32.Parse(textBoxPactSum.Text)

这里输入确保是格式化正确的 int ?

假如你希望验证格式是否正确,你应该实现的进行验证,比如用正则

否则,既然最终还是转成 string,又何必去 Parse 之? CPU/Memory 过剩?
[解决办法]
最容易出错的是时间的,一定要注意时间数据的正确格式。
我觉得编程最好不要这样,后期维护的成本太高了,是否可以考虑用存储过程

热点排行