A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 袁雅墨 中级黑马   /  2012-9-6 22:13  /  2410 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 袁雅墨 于 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  这是结果

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

7 个回复

倒序浏览
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(); // 每导出一次则换行一次
    }
回复 使用道具 举报
wt.Write("\r\n");//手动添加换行
或者用
wt.WirteLine("....");//调用WriteLine()一行行写
回复 使用道具 举报
许庭洲 发表于 2012-9-7 08:14
1 .Console.WriteLine(); // 输出后换行
2. while (reader.Read())
    {

呵.这样也可以啊. 谢谢啦
回复 使用道具 举报
黑马杨凯 发表于 2012-9-7 11:08
wt.Write("\r\n");//手动添加换行
或者用
wt.WirteLine("....");//调用WriteLine()一行行写 ...

没有WriteLine这个方法哦.呵.这试过.你二种方法都试过好像没用.等下我再试试呵
回复 使用道具 举报
袁雅墨 发表于 2012-9-7 11:11
没有WriteLine这个方法哦.呵.这试过.你二种方法都试过好像没用.等下我再试试呵 ...

wt 是streamWrite类的 它没有那个方法.只有Write方法
回复 使用道具 举报
本帖最后由 黑马杨凯 于 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, 下载次数: 64)

RX_S5WNP57Y3}8OC[P1N8Y8.jpg

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

P9O_Y~6LQ_HYY82V@(@VLXG.jpg
回复 使用道具 举报
黑马杨凯 发表于 2012-9-7 21:58
using( FileStream fs=new FileStream(@"C:\Users\Administrator\Desktop\测试专用文件夹\111 ...

呵..有了.谢谢哦..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马