DB から情報の行を読み取り、それを txt ファイルに書き込もうとしています。私はそのほとんどを理解しましたが、「フィールド初期化子は非静的フィールド、メソッド、またはプロパティ 'reader_writer.filewriter.filePath' を参照できません」というエラーが表示され、その理由がわかりません。誰かが私の問題を説明してもらえますか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.SqlClient;
using System.Data.Common;
namespace reader_writer
{
public class filewriter
{
//public string filePath = "";
bool fileExists = false;
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string dbFile = filePath + @"\sqlfile.txt";
public void Main(string[] args)
{
fileExists = File.Exists(dbFile);
if (fileExists)
{
writeFileFromDB();
}
else
{
File.Create(dbFile);
writeFileFromDB();
}
}
public void writeFileFromDB()
{
//create connection
SqlCommand comm = new SqlCommand();
comm.Connection = new SqlConnection(@"MY DB CONNECTION STRING");
String sql = @"SELECT ROW1, ROW2
FROM Export.TABLENAME";
comm.CommandText = sql;
comm.Connection.Open();
SqlDataReader sqlReader = comm.ExecuteReader();
while (sqlReader.Read())
{
StreamWriter writer = File.CreateText(dbFile);
writer.WriteLine(sqlReader["ROW1"] + "\t" + sqlReader["ROW2"]);
writer.Close();
}
sqlReader.Close();
comm.Connection.Close();
}
}
}