黑马程序员技术交流社区

标题: 关于导出 做出来了。 [打印本页]

作者: 袁雅墨    时间: 2012-9-6 22:13
标题: 关于导出 做出来了。
本帖最后由 袁雅墨 于 2012-9-7 22:35 编辑
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             if (saveFileDialog1.ShowDialog()!=DialogResult.OK)
  4.             {
  5.                 return;
  6.             }
  7.             string filename = saveFileDialog1.FileName;
  8.             using(StreamWriter wt=new StreamWriter(filename))
  9.             {
  10.                 using (SqlConnection conn = new SqlConnection(@"Data Source = .\SQLEXPRESS;AttachDBFilename=|DataDirectory|\DataBase4.mdf;Integrated Security = True;User Instance = True"))
  11.                 //创建连接是非常耗时的,因为不要每次操作都创建连接
  12.                  {
  13.                 conn.Open();
  14.                      using (SqlCommand cmd = conn.CreateCommand())
  15.                     {
  16.                         cmd.CommandText = "select Name,Age from T_P";
  17.                         using(SqlDataReader reader=cmd.ExecuteReader())
  18.                         {
  19.                             while (reader.Read())
  20.                             {
  21.                                 wt.Write(reader.GetString(reader.GetOrdinal("Name")));
  22.                                 wt.Write('|');
  23.                                 wt.Write(reader.GetInt32(reader.GetOrdinal("Age")));
  24.                                 
  25.                             }
  26.                         }
  27.                     }
  28.                  }
  29.                 wt.Close();
  30.             }
  31.             
  32.         }
  33.         
复制代码
lili|18xiaoming|20zhangsan|20  这是结果
作者: 许庭洲    时间: 2012-9-7 08:14
1 .Console.WriteLine(); // 输出后换行
2. while (reader.Read())
    {
              wt.Write(reader.GetString(reader.GetOrdinal("Name")));
              wt.Write('|');
              wt.Write(reader.GetInt32(reader.GetOrdinal("Age")));
              Console.WriteLine(); // 每导出一次则换行一次
    }
作者: 黑马杨凯    时间: 2012-9-7 11:08
wt.Write("\r\n");//手动添加换行
或者用
wt.WirteLine("....");//调用WriteLine()一行行写
作者: 袁雅墨    时间: 2012-9-7 11:09
许庭洲 发表于 2012-9-7 08:14
1 .Console.WriteLine(); // 输出后换行
2. while (reader.Read())
    {

呵.这样也可以啊. 谢谢啦

作者: 袁雅墨    时间: 2012-9-7 11:11
黑马杨凯 发表于 2012-9-7 11:08
wt.Write("\r\n");//手动添加换行
或者用
wt.WirteLine("....");//调用WriteLine()一行行写 ...

没有WriteLine这个方法哦.呵.这试过.你二种方法都试过好像没用.等下我再试试呵
作者: 袁雅墨    时间: 2012-9-7 11:12
袁雅墨 发表于 2012-9-7 11:11
没有WriteLine这个方法哦.呵.这试过.你二种方法都试过好像没用.等下我再试试呵 ...

wt 是streamWrite类的 它没有那个方法.只有Write方法
作者: 黑马杨凯    时间: 2012-9-7 21:58
本帖最后由 黑马杨凯 于 2012-9-7 22:01 编辑
袁雅墨 发表于 2012-9-7 11:12
wt 是streamWrite类的 它没有那个方法.只有Write方法

            using( FileStream fs=new FileStream(@"C:\Users\Administrator\Desktop\测试专用文件夹\11111.txt",FileMode.Create))
            {
                using (StreamWriter sw = new StreamWriter(fs))
                {
                    sw.WriteLine("好像有啊");
                    sw.WriteLine("你的点不出来么?");
                }
            }

            using (StreamWriter wt= new StreamWriter(@"C:\Users\Administrator\Desktop\测试专用文件夹\22222.txt"))
            {
                wt.WriteLine("真的有的");
                wt.WriteLine("~ ~ ~");
            }
ps: 我的版本是vs2010其他版本我没用过,有没有我也不知道

RX_S5WNP57Y3}8OC[P1N8Y8.jpg (13.77 KB, 下载次数: 62)

RX_S5WNP57Y3}8OC[P1N8Y8.jpg

P9O_Y~6LQ_HYY82V@(@VLXG.jpg (10.04 KB, 下载次数: 63)

P9O_Y~6LQ_HYY82V@(@VLXG.jpg

作者: 袁雅墨    时间: 2012-9-7 22:32
黑马杨凯 发表于 2012-9-7 21:58
using( FileStream fs=new FileStream(@"C:\Users\Administrator\Desktop\测试专用文件夹\111 ...

呵..有了.谢谢哦..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2