vs2008 winform能不能把word文档上传存进sql,然后再读取下载下来 求代码 或者方法

 我来答
th79d
2011-03-29 · TA获得超过265个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:257万
展开全部

Word文档是图文混合数据,可以用SQL2008的FILESTREAM技术保存,数据大小不受2005的2G限制。关于FILESTREAM创建和读写(写包括追加和覆盖),详细内容见C#编程指南但尧编著清华大学出版社2011年1月出版,这里给出一个Word文件写到FILESTREAM列的代码:

private void Form1_Load(object sender, EventArgs e)

{

  string connectionString =

    "Data Source=.;Initial Catalog=AdventureWorks2008;Integrated Security=True";

  using (SqlConnection connection = new SqlConnection(connectionString))

  {

    connection.Open();

    SqlCommand command = new SqlCommand("", connection);

    command.CommandText = "select Photo.PathName(), "

      +"GET_FILESTREAM_TRANSACTION_CONTEXT () "

      +"from dbo.employees e WHERE e.EmployeeID=2";

    SqlTransaction tran = connection.BeginTransaction(IsolationLevel.ReadCommitted);

    command.Transaction = tran;

    using (SqlDataReader reader = command.ExecuteReader())

    {

      while (reader.Read())

      {

        string path = reader.GetString(0); 

        byte[] transactionContext = reader.GetSqlBytes(1).Buffer;

        //产生SqlFileStream

        Stream fileStream = new SqlFileStream(path,

          (byte[])reader.GetValue(1),

          FileAccess.ReadWrite,

          FileOptions.SequentialScan, 0);

        //读内容作为字节,写到流中

        Stream s = new FileStream(@"..\..\Word1.doc ", FileMode.Open); 

        s.CopyTo(fileStream);

        fileStream.Close();

        s.Close();

      }

    }

    tran.Commit();                        //提交事务

  }

}

以上代码只能在VS2010编译,因为VS2008的FileStream类没有CopyTo方法。二楼说不能可能是指这点。

下面的图是读取示例数据库AdventureWorks2008中的表Production.Document,它的FILESTREAM数据是Word文件。

yang805465433
2011-03-29
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
可以的,不过要存成二进制流的格式。在传入时,进行格式转换就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ea1c09c
2011-03-29 · TA获得超过1004个赞
知道小有建树答主
回答量:856
采纳率:0%
帮助的人:1303万
展开全部
你是不是想把word文档直接存进sql sever 里,应该是保存成text字段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不要不礼我
2011-03-29
知道答主
回答量:30
采纳率:0%
帮助的人:26.3万
展开全部
不能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式