本人SQL能力菜的不行了,来csdn问问老鸟个菜菜的问题。
SQL中有个表[shitiku],有三个列[classid][questionid][question],用C#写:从数据库表[shitiku]中读取如果classid='xuanze'的10条[questionid]不重复的内容[question],并将[question]的内容写到服务器上的一个text.txt的文本中(无需换行)。可以的话代码后面加点注释,让我这个菜菜也可以学习下。
本人的毕业设计啊,毕业不了那就真的郁闷了!!

解决方案 »

  1.   

    还有读出的每条[question]内容钱价格'\qu'
      

  2.   

    bcp命令直接搞定[code=BatchFile]bcp "select * from 数据库.dbo.表" queryout  e:\tt.txt -c -S服务器 -U账号 -P密码[/code]
      

  3.   


    select top 10 a.question from (select distinct questionid,question from shitiku where classid='xuanze') a程序代码取就不用写了吧
      

  4.   

    本人相当菜,麻烦写的更详细写。BCP不太懂,这个星期是最后的黑暗了,不知道黎明还要多久!
      

  5.   


    SELECT distinct top 10 [questionid] from [shitiku] where classid='xuanze'
      

  6.   


    bcp "SELECT distinct top 10 [questionid] from [shitiku] where classid='xuanze'" queryout  e:\tt.txt -c -S服务器 -U账号 -P密码
      

  7.   

    具体写下要求:
    一、要随机从库中选10条[question],where classid='xuanze',
    二、要将选出的[question]学到一个服务器路径的txt当中,且每条[question]前加字符'\qu',
    三、代码中学\qu时会出现错误,
      

  8.   

    BCP安装包  怎么安装的,本人 。net 2.0 的
      

  9.   


    bcp "SELECT distinct top 10 '\\qu'+[questionid] as questionid from [shitiku] where classid='xuanze'" queryout  e:\tt.txt -c -S服务器 -U账号 -P密码
      

  10.   

    兄弟这样的选取时随机的吗?还有就是BCP是什么?我很菜,别和别人说!
      

  11.   

    13 楼的 zzxap 可以的话加个QQ :785578763,小弟弟我感激不尽
      

  12.   

    http://www.bitscn.com/mssql/200701/97511.html
    bcp详解
    共同学习~
    不用bcp的话
    用最C#中最简单的,ado.net连接读取数据到table
    File文件创建写入保存
      

  13.   

    http://www.bitscn.com/mssql/200701/97511.html
    bcp详解
    共同学习~
    不用bcp的话
    用最C#中最简单的,ado.net连接读取数据到table
    File文件创建写入保存
      

  14.   

    谢谢楼上,那么用ado.net的代码如何实现,高手帮忙,后天晚上还没结贴的话就没人20分算了
      

  15.   


                using (SqlConnection conn = new SqlConnection("连接字符串"))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand("select top 10 [question] from [shitiku] order by newid()", conn);
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        using (StreamWriter sw = new StreamWriter("E:\\test.txt"))
                        {
                            while (sdr.Read())
                                sw.Write("\\qu" + sdr[0].ToString());
                        }
                    }
                }
      

  16.   

    select top 10 [question] from [shitiku] order by newid()",
    是指前10条吗?如何才能是随机的10条?
      

  17.   

    using System.Data;
    using System.Data.SqlClient;
                SqlDataAdapter sda = new SqlDataAdapter("sql查询语句", "server=服务器地址;database=数据库,user=用户名;pwd=密码");
                DataTable dt = new DataTable();
                sda.Fill(dt);
                string filepath = "文件路径";//如C:\aaa.txt
                StreamWriter fs = null;
                if (!File.Exists(filePath))
                        fs = File.CreateText(filePath);
                    else
                        fs = File.AppendText(filePath);
                for(int nI =0; nI < dt.Rows.Count;nI++)
                {
                    fs.WriteLine(dt.Rows[nI]["classid"].ToString() + dt.Rows[nI]["questionid"].ToString() + dt.Rows[nI]["question"].ToString());
                }
                fs.Close();未测试
      

  18.   

    没看到order by newid()吗
    这就是随机用的
      

  19.   

    找不到类型或命名空间名称“StreamWriter”(是否缺少 using 指令或程序集引用?)
      

  20.   

    order by newid()试了下,果然是随机查询的
      

  21.   


     掌柜 ojlovecd 就是牛啊,解决了,谢谢啊,可以毕业了,大学没白读,拿了个毕业证书+学士学位!!
    O(∩_∩)O哈哈~  开心啊