2017-01-31 24 views
0

私はSSISを習得しており、C#をよく理解しています。 Excelのスプレッドシート内のすべての行を既に数えている変数(NumberRows)があります。今、私はMessageBox.Showメソッド(?)を使ってメッセージを表示したいと思います。C#SSISオブジェクトと文字列の問題

私がやろうとしたとき: MessageBox.Show("There are {0} Finalists", Dts.Variables["NumberRows"].Value); 「「オブジェクト」から「文字列」に変換できません」というエラーが表示されます。

私はこのような「最後に)それはいいのよ、私はちょうど.ToString(ATよ」自分自身に考えています: MessageBox.Show("There are {0} Finalists", Dts.Variables["NumberRows"].Value.ToString());

エラーが離れて行くが、出力は「0ファイナリストがあります読み込み" MessageBox.Show("There are " + Dts.Variables["NumberRows"].Value + " Finalists");今度は「109人のファイナリスト」が正しく表示されます

私の問題は解決しましたが、私の間違いを知りたいと思います。どんな助けでも大歓迎です。

答えて

0

MessageBox.Showstring.Format()またはConsole.WriteLine()のように文字列を書式設定しません。

overloadMessageBox.Show(String, String)には、2つの文字列パラメータが、テキストのフォーマットではなく、ウィンドウ&のキャプションのテキストであると記載されています。

あなたがやろうとしたものを行うには、あなたがこれを行う必要があります:

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

あなたがMessageBox.ShowためOverload Listを見ればあなたがしようとしているものを扱うことが可能な過負荷を見つけることができませんあなたの最初の2つのコードスニペットで行います。

次の方法はMessageBox.Show(string text, string caption)です。これにより、SQL値がメッセージボックスダイアログウィンドウのキャプションに配置されるはずです。