这是在看传智播客Ado.net中的数据导入导出时所写的。杨中科老师只讲了数据的导入,没有讲数据的导出。其实导出要想到的一点就是:用SqlReader来读取数据库中的每一行就行了。大家凑合看吧……
private void btnOutput_Click(object sender, RoutedEventArgs e)
{SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "文本文件|*.txt";
if (sfd.ShowDialog() != true)
return;
string fileName = sfd.FileName;
using (FileStream fileStream = File.OpenWrite(fileName))
{
using (StreamWriter strWriter = new StreamWriter(fileStream))
{
//添加一个SqlReader来读取数据库
using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDBFilename=
|DataDirectory|\Test416.mdf;Integrated Security=true;User Instance=True"))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select Name,Age from T_Customer";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
//已经获取了数据库中一行的数据。
string name = reader.GetString(reader.GetOrdinal("Name"));
string age = Convert.ToString(reader.GetInt32(reader.GetOrdinal("Age")));
strWriter.WriteLine("{0}|{1}",name,age);
}
}
}
}
}
}
MessageBox.Show("导出成功!");
}
}
}