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();