C#SSIS对象和字符串问题

时间:2017-01-31 22:18:58

标签: c# ssis

我正在学习SSIS并对C#有一个很好的理解。我有一个变量(NumberRows)已经计算了Excel电子表格中的所有行。现在,我想通过使用MessageBox.Show方法(?)显示一条消息说明。

当我尝试做的时候: MessageBox.Show("There are {0} Finalists", Dts.Variables["NumberRows"].Value); 我收到一条错误,说“无法从'对象'转换为字符串'”。

我在想自己“那很好,我只是在最后的.ToString()”就像这样: MessageBox.Show("There are {0} Finalists", Dts.Variables["NumberRows"].Value.ToString());

错误消失但输出显示“有0名决赛选手”。然后我将其更改为: MessageBox.Show("There are " + Dts.Variables["NumberRows"].Value + " Finalists");现在它正确显示“有109名决赛选手”

我的问题已经解决,但我想知道我的错误是什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

MessageBox.Show不会格式化字符串,例如string.Format()Console.WriteLine()

MessageBox.Show(String, String) overload表示两个字符串参数用于文本&窗口的标题,没有提到格式。

要做你想做的事,你需要这样做:

MessageBox.Show(string.Format("There are {0} Finalists", Dts.Variables["NumberRows"].Value), "Title");

答案 1 :(得分:0)

如果您查看MessageBox.Show的{​​{3}},您将找不到能够处理您尝试使用前两个代码段进行操作的重载。

以下方法MessageBox.Show(string text, string caption)会发生什么情况,这会导致您的SQL值被放置在消息框对话框窗口的标题中。