站长中国
设为首页 | 站长论坛

站长论坛 站长下载
您所在的位置: 站长中国 > 站长学院 > 数 据 库 > MSAccess >  正文

在没有安装office的电脑中,怎么样用vc代码创建空的access文件?
  2007年10月15日21:42:23  评论(0条) 字体:[ ]
相关热点:

在没有安装office的电脑中,怎么样用vc代码创建空的access文件?
急用!!!!!!!!!!请高手帮忙!!!!!!!!!!!
---------------------------------------------------------------

Create an .MDB File for Microsoft Access Databases
NOTE: For information about how to create .MDB files programmatically using Visual C++ version 4.x or later, please see the following article in the Microsoft Knowledge Base: 

Q126606 INFO: Accessing CREATE_DB, REPAIR_DB, and COMPACT_DB 
An .mdb file is always required to configure a Microsoft Access data source either by using the Open Database Connectivity (ODBC) administrator or by configuring the data source programmatically. An .mdb file cannot be created by using the MFC Database Classes or the ODBC application programming interface (API). 

You can use one of the following methods to have an application configure a data source on your computer: 


Ship and install the .mdb file along with the application. 


Make the .mdb file into a user-defined resource. Then, copy the .mdb file at run time. 


This article discusses the second method, making the .mdb file into a user- defined resource. 



More Information
You can use a user-defined resource to attach miscellaneous data to a .EXE file. If an .mdb file is made into a resource, the resource can be loaded at run time and then written to an .mdb file. The steps required to do this are as follows: 



Create an .mdb file either by using Microsoft Access or MSQuery. 


Create the .mdb file as a user-defined resource by adding the following line to your .RC file: 
      mdb_file  MDB_RESOURCE filename.mdb 
where: 
      mdb_file      is  a name for identifying the resource.
      MDB_RESOURCE  is  a name for identifying the type of the resource
                        and can be any user-defined type.
      filename.mdb  is  the name of the .mdb file. 



Load the resource and write it out to an .mdb file. You can use the following function, from anywhere in your application, to create the .mdb file. (A typical place for creating the .mdb file would be the override of the CWinApp::InitInstance() function.) 
   CreateMDBFile()
   {
      // Get the instance handle - required for loading the resource
      HINSTANCE hInst = AfxGetInstanceHandle();

      // Load the user-defined resource.
      HRSRC hmdbFile = ::FindResource(hInst, "mdb_file", "MDB_RESOURCE");
         HGLOBAL hRes = ::LoadResource(hInst, hmdbFile);
         DWORD dwResSize = ::SizeofResource(hInst, hmdbFile);

         if (hRes != NULL)
         {
            UINT FAR* lpnRes = (UINT FAR*)::LockResource(hRes);
            CString szFileName = "Filename.mdb";

            TRY
            {
               // Create the .mdb file
               CFile f( szFileName, CFile::modeCreate | CFile::modeWrite );

               // Write the user-defined resource to the .mdb file
               f.WriteHuge(lpnRes, dwResSize);
               f.Flush();
            }
            CATCH( CFileException, e )
            {
      #ifdef _DEBUG
             afxDump << "File could not be opened " << e->m_cause << "\n";
      #endif
            }
            END_CATCH

      #ifndef WIN32 //Unlock Resource is obsolete in the Win32 API
            ::UnlockResource(hRes);
      #endif
            ::FreeResource(hRes);
         }
      } 



The one disadvantage of this method is that it increases the size of the .exe file according to the size of the .mdb file. Because even an empty .mdb file is 64K in size, the .exe is increased by at least 64K. One way to reduce the size of the .exe is to store a compressed .mdb file onto the .exe and expand it at run time when storing the resource.
---------------------------------------------------------------

我大概瞧了瞧,大概是做一个空数据库,然后做成资源文件在释放出来!!
应该没错,就算错了,这也是一招!:)


责任编辑:

收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱
    评论加载中…

站长排行

学院

新闻

专栏

盈利

[揭密网络黄链]中国留学生买凶专破日本
JSP语法(6)
超强弹出窗口代码,什么都挡不住
FLASH视觉特效实例之地震效果
贴吧发帖机使用教程(绝对原创)
关于数据分页(转自www.codeproject.co
ASP实现文件直接下载
Photoshop制作光感超酷效果水晶球
 遍历ASP.NET页面控件
永远的后门[经典]+查不出的后门
淘宝网卖家公然叫卖“艳照门”照片集
驳《百度Hi面世对腾讯有利》
Google绿色专家质疑黑色背景网页节省资
国内各IT企业办公环境揭秘(多图)
阿里妈妈广告卖主全攻略
站长创业源动力 主流站长站赏析
推荐阅读:80年小子的创业道理
Discuz!6.0猛将出击 最强论坛程序酷炫
我的网络,我的团队:专访李文明
百度新闻频道改版十天 流量止跌反弹翻
ECSHOP模板制作参考文档
悬挂阿里妈妈会否被百度惩罚
阿里妈妈是否是中小站长的救世主?
最强网店ECShop发新版 众多酷炫功能给
ECSHOP模板下载
土豆网,优酷网,爆米花等视频网站采集
DedeCms模板安装/制作概述
网上商店系统巅峰对决 ECShop vs ShopE
艰难的走在创业的路上 第一天
编程中国全站采集规则
性福联盟 一个不尊重站长的联盟
大脚:日赚100元—揭露最新firefox欺骗
大脚:垃圾站超级赚钱法之二—突破“站
大脚:垃圾站超级赚钱法之——前言
迅雷联盟、快车联盟收入对比
经理人必看的十个管理网站
Google Adsense的秘密 第二版
西联汇款兑付城市查询
不用SEO取得成功的10个步骤
关于做GOOGLE的五条经验
站长学院  网页设计 建站教程 图形图象 网络编程

Photoshop CS3
Photoshop CS3
不用Photoshop
不用Photoshop

DIV+CSS的开发方式 听听另外的
虚拟主机建站动易里快速生成的
VBScript特效代码 满屏幕乱跑
牛气!一个菜鸟站长的超强网站
创建、维护一个个人博客的“投
让网站流量稳步飙升的秘籍
网站推广的基本思想

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008