string query = @"select p.package_id, pd.download_id
from Tools.ftp.package p
join Tools.ftp.package_download pd
on p.package_id = pd.package_id
where p.package_name = 'foo'";
SqlConnection クラスを使用して C# で SQL Server からデータを取得しようとすると、where ステートメントを使用せずに出力が得られますが、空白のファイルが残っており、より複雑な結合で奇妙な動作が発生します。何故ですか。C# でクエリを作成するときの動作に注意することはありますか。つまり、書式設定の問題などです。
これがすべてです。
StreamWriter fileout = new StreamWriter(@"C:\test\output9.csv");
string myConnectionString = @"Data Source=foobar;Initial Catalog=DB;User id=user;Password=pw";
SqlConnection Conn = new SqlConnection(myConnectionString);
string query = @"select p.package_id, pd.download_id
from Tools.ftp.package p
join Tools.ftp.package_download pd
on p.package_id = pd.package_id
where p.package_name = 'foo'";
SqlCommand cmd = new SqlCommand(query, Conn);
cmd.Connection = Conn;
Conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
Conn.Close();
da.Dispose();
foreach (DataRow dataRow in dt.Rows)
{
foreach (var item in dataRow.ItemArray)
{
fileout.Write(item+ ",");
}
fileout.Write("\n");
}
fileout.Close();