如何將程序的Access数据库嵌入到资源中发布

本文介绍如何在.NET中通过Application.StartupPath获取应用程序路径,并利用此路径加载和写入嵌入资源文件,如SAP_Words.dll和Resources.dll。详细展示了资源文件的加载、获取流、创建文件流并进行读写操作的过程。
ContractedBlock.gifExpandedBlockStart.gifCode
 1None.gif        private string AccessPath = Application.StartupPath.ToString() + "\\" + "SAP_Words.dll";
 2None.gif        private string ResourcesPath = Application.StartupPath.ToString() + "\\" + "Resources.dll";
 3None.gif
 4None.gif       調用 WriteEmbeddedFile("SAP_Words.dll", AccessPath);
 5None.gif        private Stream GetStream(string name)
 6ExpandedBlockStart.gifContractedBlock.gif        dot.gif{
 7InBlock.gif            return GetResourceAssembly().GetManifestResourceStream("資源類的命名空間."+name);
 8ExpandedBlockEnd.gif        }

 9None.gif
10None.gif        private Assembly GetResourceAssembly()
11ExpandedBlockStart.gifContractedBlock.gif        dot.gif{
12InBlock.gif            return Assembly.LoadFrom(ResourcesPath);
13ExpandedBlockEnd.gif        }

14None.gif
15None.gif        private void WriteEmbeddedFile(string name, string fileName)
16ExpandedBlockStart.gifContractedBlock.gif        dot.gif{
17InBlock.gif            using (Stream stream = GetStream(name))
18ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
19InBlock.gif                FileInfo file = new FileInfo(fileName);
20InBlock.gif                using (FileStream fileStream = file.Create())
21ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
22InBlock.gif                    byte[] buf = new byte[1024];
23InBlock.gif                    int size;
24InBlock.gif                    while ((size = stream.Read(buf, 01024)) > 0)
25ExpandedSubBlockStart.gifContractedSubBlock.gif                    dot.gif{
26InBlock.gif                        fileStream.Write(buf, 0, size);
27ExpandedSubBlockEnd.gif                    }

28ExpandedSubBlockEnd.gif                }

29ExpandedSubBlockEnd.gif            }

30ExpandedBlockEnd.gif        }

31None.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值