如果是这样,那就用DELPHI的OLE控件打开看看不过,OLE数据类型字段它在ACCESS表中,显示的是:长二进制数据打开表如果该字段的值显示的长二进制数据,那就是各种文件了,凡是WIN系统能够运行的文件都可以保存在OLE类型的字段中,
'题主可以参考下列示例代码:
Private Sub Command0_Click()
'注意代码需要先引用ADO类库25或以上版本
Dim cn As New ADODBConnection,strCn as String
Dim rs As New ADODBRecordset
Dim strm As New ADODBStream
strCn = "Provider=MicrosoftJetOLEDB40;Data Source=D:\MyDBmdb"
cnOpen strCn
rsCursorLocation = adUseClient
'打开ADO流对象
With strm
Type = adTypeBinary '二进制模式
Open
End With
'打开记录集
rsOpen "[100jluwood]", cn, adOpenKeyset, adLockOptimistic
'添加一条新记录,字段名是虚构的,请改为实际字段名
rsAddNew
rs!F_id = "001"
rs!F_Name = "MyWord"
strmLoadFromFile "C:\MyWorddoc" '读取Word文件
rs!file = strmRead '存入Word文件
rsUpdate '保存新增
rsClose
Set rs=Nothing
cnClose
Set cn=Nothing
End Sub
protected void Button1_Click(object sender, EventArgs e)
{
//FileInfo thefile = new FileInfo(@"D:\立项依据doc");
FileStream fsDoc = FileOpenRead(@"D:\立项依据doc");
DateTime dtnow = DateTimeNow;
string filename = dtnowToString("yyyyMMdd")+"doc";
byte[] buffer=new byte[fsDocLength];
fsDocRead(buffer,0,(int)fsDocLength);
connOpen();
string sqlCmd = @"Insert into MyUploadTable(filename,filesize,filedata,ProjectID,IsAuditActivePage)
Values(@filename,@filesize,@filedata,@ProjectID,1)";
SqlCommand Cmd = new SqlCommand(sqlCmd,conn);
CmdParametersAdd("@filename",SqlDbTypeVarChar)Value=filename;
CmdParametersAdd("@filesize",SqlDbTypeBigInt)Value=fsDocLength;
CmdParametersAdd("@filedata",SqlDbTypeImage)Value=buffer;
CmdParametersAdd("@ProjectID",SqlDbTypeInt)Value=2;
CmdExecuteNonQuery();
fsDocClose();
connClose();
}
dim
mst
as
stream
dim
rs
as
adodbrecordset
----------------------------------------
set
mst
=
new
adodbstream
msttype
=
adtypebinary
'二进制类型
mstopen
mstloadfromfile
mystr
'加载,mystr为路径
----------------------------------------
rsfields("images")=
mstread
'保存到数据库
这是保存的主要代码
以上就是关于Delphi以二进制形式保存文件到ACCESS数据库全部的内容,包括:Delphi以二进制形式保存文件到ACCESS数据库、如何用VB将word文档已二进制的形式存Access数据库里 100jluwood、怎样word文档以二进制流的形式存入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)