using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace ConsoleApplication2
{
class Program
{
//把文件写入数据库
public void add(string pathName)
{
FileStream fs = new FileStream(pathName, FileMode.Open, FileAccess.Read);
byte[] buffByte = new byte[fs.Length];
fs.Read(buffByte, 0, (int)fs.Length);
fs.Close();
fs = null;
SqlConnection conn = new SqlConnection(@"data source=test;uid=sa;pwd=test;database=test");
string sqlstr = @"Insert into table1(doc) values(@img)";
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlstr;
cmd.Connection = conn;
cmd.Parameters.Add("@img", System.Data.SqlDbType.Image);
cmd.Parameters[0].Value = buffByte;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
buffByte = null;
}
//从数据库读出文件
public void save(string fileName)
{
SqlConnection conn = new SqlConnection(@"data source=test;uid=sa;pwd=test;database=test");
conn.Open();
SqlCommand cmd = new SqlCommand("select top 1 doc from table1", conn);
SqlDataReader reader = cmd.ExecuteReader();
byte[] buffByte = null;
if (reader.Read())
{
buffByte = (byte[])reader[0];
}
reader.Close();
conn.Close();
FileStream fs;
FileInfo fi = new FileInfo(fileName);
fs = fi.OpenWrite();
fs.Write(buffByte, 0, buffByte.Length);
fs.Close();
}
static void Main(string[] args)
{
Program p = new Program();
p.add(@"C:\test.doc");
p.save(@"C:\test1.doc");
}
}
}
有谁知道怎么把word中的正文内容,保存到数据库以便做文件检索?
这样:
1. 在控件页面中添加SOAOfficeCtrl的BeforeDocumentSaved事件处理和一个隐藏的input,注意要保持这个input的name属性在当前页面中是唯一的:
<input name="FileTxt" type="hidden">
<SCRIPT language="javascript" event="BeforeDocumentSaved(Document, Location, Cancel)" for="SOAOfficeCtrl">
document.getElementsByName("FileTxt")[0].value = document.getElementById("SOAOfficeCtrl").DocText;
</SCRIPT>
2. 在处理文档保存的页面用RequestFormField 方法取出 input 的值:
SOAOfficeX.SaveDocObj SOAObj = new ……
strText = SOAObj.RequestFormField("FileTxt"); // 这样就可以取出 input 的值
sql数据库可以存储word文件吗
对于msSQL,小格式文件可以转为二进制当成文本存储.
但word一般都不小,所以一般情况下都直接保存文件,然后在数据库中保存地址.对文件的操作由程序进行.
即使oracle这一类有大文件类型的,其实也是通过流来存储文件,常用于图像文件,很少于用office类型的.
保存word文档到SQL数据库并且显示出来,(word文档的格式不许变)
word 文档保存的是doc格式还是rtf格式?如果你把它存为rtf格式就可以了。实际上没多大变化的,
如何将Word文档导入或导出access数据库
导入:打开ACCESS——文件——获取外部数据——导入——在打开的对话框里选择你要导入的文档。
导入:打开ACCESS——在“表”对象的空白处点鼠标右键——导入——在打开的对话框里选择你要导入的文档。
导出:打开ACCESS——在“表”对象里选择想要导出的表点右键——导出——在打开的对话框里选择存放的盘和名字——保存。
导出:按上面导出方法导出,只是在保存的类型时选.txt格式,最后你打开导出的txt文本,将里面的内容复制到word里,应该可以成功的。你可以参照http://wenwen.soso.com/z/q128031057.htm
如何把Word文档保存入access数据库?有好多工作上要用的Word文档,想建立一个VB-access软件保存它们
呵呵,access好像不支持文档,你可以用FSO上传文件的功能,变相的用。
sql数据库怎么导入word文档
一、准备工作
首先请确认服务端已经安装了Office Word(以下将以Office XP为例),操作系统为win2000或XP,并且已配置好.NET的运行环境及安装VS.NET C#开发环境后,我们就可以打开VS.NET,并新建一个Visual C#项目ASP.NET Web应用程序,位置为“”。(如图一)
二、引用Word对象库文件
要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目添加引用浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!
三、Webform1.aspx.cs代码
完成添加引用后,MSWORD.OLB已经转化为相关DLL文件并放置于项目的BIN目录下了,这样我们只需在源码中创建该对象,并使用word库文件内置的操作函数即可轻松实现操作Word,Webform1.aspx.cs源码请参见
五、web.config设置
web.config文件还需添加一句 identity impersonate="true"/以启用模拟身份,因为默认ASPNET这个用户是没有权限访问Word.ApplicationClass(),当启用模拟身份后所有页面将会使用匿名Internet用户帐户(IUSR_machinename)这个用户名的权限执行,这样我们就能成功访问Word.ApplicationClass()并在ASP.NET中操作Word!
//传文档所在路径返回文档内容publicstringDoc2Text(stringdocFileName)
{
//实例化COM
Microsoft.Office.Interop.Word.ApplicationClasswordApp=newMicrosoft.Office.Interop.Word.ApplicationClass();
objectfileobj=docFileName;
objectnullobj=System.Reflection.Missing.Value;
//打开指定文件(不同版本的COM参数个数有差异,一般而言除第一个外都用nullobj就行了)
Microsoft.Office.Interop.Word.Documentdoc=wordApp.Documents.Open(reffileobj,refnullobj,refnullobj,
refnullobj,refnullobj,refnullobj,
refnullobj,refnullobj,refnullobj,
refnullobj,refnullobj,refnullobj,refnullobj,refnullobj,refnullobj,refnullobj
);
//取得doc文件中的文本
stringoutText=doc.Content.Text;
//关闭文件
doc.Close(refnullobj,refnullobj,refnullobj);
//关闭COM
wordApp.Quit(refnullobj,refnullobj,refnullobj);
//返回
returnoutText;
}
在读取的时候会有损坏的文件 和被加密的文件等问题 总之C#和office的兼容性不太好
别忘了要引用word的dll
引用文件夹 右键添加引用 在组件里找Microsoft.Office.Interop.Word
读出了word文档再把它写入sqlserver数据库就可以了.
如何将WORD文档(文档中有文字、表格)保存在ACCESS数据库中的一个字段中以及从数据库中读出来
WORD和EXCEL的文件格式本身就可以用 Office 提供的数据库驱动来读(ADO)读出后写入数据库就可以了.关于如果读你搜下相关代码吧.我对VB操作数据库不熟悉.
你如果写网页比如ASP你只需要和ADO访问Access方法一样来访问WORD只是驱动不同而已
转载请注明出处51数据库 » 数据库保存word文档 将word文档保存到数据库中