2016-12-01 4 views
0

私のデータグリッドビューにデータをインポートしようとしています。私がこれまで持っているコードは次のとおりです。txtファイルのデータをdatagridviewにインポートするC#

private void loadButton_Click(object sender, EventArgs e) 
{ 
    if (File.Exists(DATA_FILE_NAME)) 
     fileIn = File.OpenText(DATA_FILE_NAME); 
    else 
    { 
     MessageBox.Show(DATA_FILE_NAME + " does not exist", "Abort Execution", MessageBoxButtons.OK, MessageBoxIcon.Error); 
     Application.Exit(); 
    } 
    if (listCountTextBox.ReadInt(out index)) 
     for (int i = 1; i <= index; i++) 
      idList.Add(Int32.Parse(fileIn.ReadLine())); <----- Error here 
     fileIn.Close(); 
     DisplayIDList(displayDGV); 
} 

テキストファイル内のデータの形式は、次のようになります。「000-0000」と1,240,000の値があります。エラーメッセージ:入力文字列が正しい形式ではありません。 ご迷惑をおかけして申し訳ございません。

ありがとうございました!

+1

整数に000-0000のように文字列を変換することはできません - あなたが値を変換することによって達成なりますか? – Fruchtzwerg

+0

データがすべて同じフォーマットであれば、 'int32.Parse'を使う必要はありません。' idList'に行を追加するだけです。これは、この時点でStringです。テーブルにデータを格納する場合は、データ型は 'varchar'または' nvarchar' – MethodMan

+0

になります。なぜなら、あなたのコード 'Application.Exit();'の行を 'return'と置き換えるだけで、それをvoidメソッドから抜け出すことだけです。 。 – MethodMan

答えて

1

他の人が "000-0000"をintに変換する可能性はないので、エラーです。あなたが変更した場合

は動作します:

idList.Add(Int32.Parse(fileIn.ReadLine().Replace("-",""))); 
//idList.Add(Int32.Parse(fileIn.ReadLine())); <----- Error here 
関連する問題