精华内容
下载资源
问答
  • 学习怎么利用Acess创建数据库与表,很值得一看
  • MFC+ADO+ACCESS创建数据库

    千次阅读 2008-04-21 20:50:00
    MFC+ADO+ACCESS创建数据库 发布日期:3/16/2007 2:31:19 PM BENKONG 最近偶然要做一个小型的数据库管理系统,为了方便用户无需自己用access创建数据库,所以,我必须设法让程序能够创建数据库,数据库表以及判断...
    MFC+ADO+ACCESS创建数据库
    发布日期:3/16/2007 2:31:19 PM  BENKONG

       最近偶然要做一个小型的数据库管理系统,为了方便用户无需自己用access创建数据库,所以,我必须设法让程序能够创建数据库,数据库表以及判断数据库表的存在。下面的程序代码希望能够为遇到这方面困难的朋友提供帮助:(2008/11/5重新编辑)

    1. //1.引入ado库
    2. #import "c:/Program Files/Common Files/System/ADO/Msadox.dll"  rename_namespace("ADOCG") rename("EOF", "adoXEOF") rename("DataTypeEnum","adoXDataTypeEnum") 
    3. #import "C:/Program Files/Common Files/System/ADO/msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
    4. using namespace ADODB;  
    5. using namespace ADOCG;
    6. #define TESTHR(x) if FAILED(x) _com_issue_error(x);
    7. //2.创建ACCESS数据库 
    8. BOOL CDeRenDlg::CreateMdb(CString strDBName)
    9.     CString strMdbConn = "Provider='Microsoft.JET.OLEDB.4.0';Data source = " + strDBName;
    10.  try
    11.  {
    12.   HRESULT hr = S_OK; 
    13.   _CatalogPtr pCatalog = NULL;
    14.   _bstr_t cnnstring(strMdbConn);
    15.   
    16.   TESTHR(hr = pCatalog.CreateInstance(__uuidof (Catalog)));
    17.         pCatalog->Create(cnnstring);
    18.  }
    19.  catch(_com_error e)
    20.  {
    21.   _bstr_t bstrDescription(e.Description());
    22.   CString strErro=CString(_T("创建ACCEESS数据库出错: ")) 
    23.                + (LPCSTR)e.Description()
    24.       + CString(_T("Create ACCESS DB error: "))
    25.       + (LPCSTR)e.Description();
    26.   AfxMessageBox(strErro);
    27.   return FALSE;
    28.  }
    29.  return TRUE;
    30. }
    31. //3.创建数据库表-材料表
    32. BOOL CDeRenDlg::CreateTable( CString strTabName)
    33. {
    34.  HRESULT hr = S_OK;
    35.     _CatalogPtr pCatalog = NULL;
    36.     _TablePtr pTableNew = NULL;
    37.     _IndexPtr pIndexNew = NULL;
    38.     _IndexPtr pIndex  = NULL;
    39.     _ColumnPtr pColumn  = NULL;
    40.  CString strConn,strDBName;
    41.  strDBName=this->GetDBName(m_nDBYear);
    42.  CFileFind ff;
    43.  if(!ff.FindFile(strDBName))
    44.  {
    45.   AfxMessageBox("数据库不存在,请先在高级设置对话框中创建数据库!");
    46.   return FALSE;
    47.  }
    48.  strConn="Provider='Microsoft.JET.OLEDB.4.0';Data source = " + strDBName;
    49.  _bstr_t strcnn(strConn);
    50.     try
    51.     {
    52.         TESTHR(hr = pCatalog.CreateInstance (__uuidof(Catalog)));
    53.         TESTHR(hr = pTableNew.CreateInstance(__uuidof(Table)));
    54.         TESTHR(hr = pIndexNew.CreateInstance(__uuidof(Index)));
    55.         TESTHR(hr = pIndex.CreateInstance   (__uuidof(Index)));
    56.         TESTHR(hr = pColumn.CreateInstance  (__uuidof(Column)));
    57.   
    58.         // 连接
    59.         pCatalog->PutActiveConnection(strcnn);
    60.         // 表名
    61.         pTableNew->Name = _bstr_t(strTabName);
    62.   pTableNew->ParentCatalog = pCatalog;
    63.   //
    64.   //m_pTableNew->Columns->Append("ContactId", ::adInteger,0);          
    65.         //m_pTableNew->Columns->GetItem("ContactId")->Properties->GetItem("AutoIncrement")->Value = true;
    66.   
    67.   // 加入字段
    68.   CString str;
    69.   str = _T("公司名称");//"公司名称";
    70.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    71.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false//将必填字段设置为否
    72.   str = _T("产品名称");//"产品名称";
    73.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    74.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false;
    75.   str = _T("产品规格");//"产品名称";
    76.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    77.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false;
    78.      //*      
    79.   // 加入主键
    80.   pIndexNew->Name = "pryIndex";//"日期";
    81.   pIndexNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);         
    82.         
    83.         pIndexNew->PutPrimaryKey(-1);
    84.         pIndexNew->PutUnique(-1);
    85.         pTableNew->Indexes->Append(_variant_t ((IDispatch*)pIndexNew));
    86.   //*/
    87.      
    88.   // 加入表中
    89.         pCatalog->Tables->Append(_variant_t ((IDispatch*)pTableNew));        
    90.         pCatalog->Tables->Refresh();
    91.   
    92.     }
    93.     catch(_com_error &e)
    94.     {
    95.         _bstr_t bstrSource(e.Source());
    96.         _bstr_t bstrDescription(e.Description());
    97.   AfxMessageBox(e.Description());
    98.   return FALSE;
    99.    
    100.     }
    101.  return TRUE;
    102. }
    103. //4.判断一个表在数据库中是否存在
    104. BOOL CDeRenDlg::IsTalbeExit(CString strTable)
    105. {
    106.  try 
    107.  { 
    108.   if(!m_adoConnection.IsOpen()) return FALSE;
    109.   
    110.   _RecordsetPtr   pRstSchema   =   NULL;
    111.   pRstSchema=m_adoConnection.OpenSchema(adSchemaTables);
    112.   
    113.   while(!pRstSchema->adoEOF) 
    114.   { 
    115.    _bstr_t table_name = pRstSchema->Fields->GetItem("TABLE_NAME")->Value;
    116.    _bstr_t table_type = pRstSchema->Fields->GetItem("TABLE_TYPE")->Value;
    117.    if ( strcmp(((LPCSTR)table_type),"TABLE")==0)
    118.    {
    119.     if(strTable.Compare((LPCSTR)table_name)==0)return  true;
    120.    } 
    121.   
    122.    pRstSchema->MoveNext(); 
    123.   }
    124.   
    125.   if(pRstSchema) pRstSchema->Close(); /*&&(pRstSchema->State==ADODB::adStateOpen)*/
    126.  }
    127.  catch(_com_error e)// 
    128.  { 
    129.   ::MessageBox(NULL,e.Description(),"Error",MB_OK);
    130.   return FALSE;
    131.  }
    132.  return false;
    133. }
    展开全文
  • 连接Access数据库的演示文稿,希望可以帮助大家,欢迎下载
  • 摘要:VB源码,数据库应用,创建数据库 VB动态创建Access数据库,创建的数据库版本支持Access 2000和Access 2003.其它版本的暂不支持。请依次按窗口中的要求输入要建立数据库的路径和数据库名称、表名、字段和字段类型...
  • 资源名称:Access2007创建数据库教程资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
  • 易语言创建Access数据库源码,创建Access数据库,打开数据库,创建数据库,创建数据库
  • 最近偶然要做一个小型的数据库管理系统,为了方便用户无需自己用access创建数据库,所以,我必须设法让程序能够创建数据库,数据库表以及判断数据库表的存在。下面的程序代码希望能够为遇到这方面困难的朋友提供帮助...

       最近偶然要做一个小型的数据库管理系统,为了方便用户无需自己用access创建数据库,所以,我必须设法让程序能够创建数据库,数据库表以及判断数据库表的存在。下面的程序代码希望能够为遇到这方面困难的朋友提供帮助:(2008/11/5重新编辑)

    1. //1.引入ado库
    2. #import "c:/Program Files/Common Files/System/ADO/Msadox.dll"  rename_namespace("ADOCG") rename("EOF", "adoXEOF") rename("DataTypeEnum","adoXDataTypeEnum") 
    3. #import "C:/Program Files/Common Files/System/ADO/msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
    4. using namespace ADODB;  
    5. using namespace ADOCG;
    6. #define TESTHR(x) if FAILED(x) _com_issue_error(x);
    7. //2.创建ACCESS数据库 
    8. BOOL CDeRenDlg::CreateMdb(CString strDBName)
    9.     CString strMdbConn = "Provider='Microsoft.JET.OLEDB.4.0';Data source = " + strDBName;
    10.  try
    11.  {
    12.   HRESULT hr = S_OK; 
    13.   _CatalogPtr pCatalog = NULL;
    14.   _bstr_t cnnstring(strMdbConn);
    15.   
    16.   TESTHR(hr = pCatalog.CreateInstance(__uuidof (Catalog)));
    17.         pCatalog->Create(cnnstring);
    18.  }
    19.  catch(_com_error e)
    20.  {
    21.   _bstr_t bstrDescription(e.Description());
    22.   CString strErro=CString(_T("创建ACCEESS数据库出错: ")) 
    23.                + (LPCSTR)e.Description()
    24.       + CString(_T("Create ACCESS DB error: "))
    25.       + (LPCSTR)e.Description();
    26.   AfxMessageBox(strErro);
    27.   return FALSE;
    28.  }
    29.  return TRUE;
    30. }
    31. //3.创建数据库表-材料表
    32. BOOL CDeRenDlg::CreateTable( CString strTabName)
    33. {
    34.  HRESULT hr = S_OK;
    35.     _CatalogPtr pCatalog = NULL;
    36.     _TablePtr pTableNew = NULL;
    37.     _IndexPtr pIndexNew = NULL;
    38.     _IndexPtr pIndex  = NULL;
    39.     _ColumnPtr pColumn  = NULL;
    40.  CString strConn,strDBName;
    41.  strDBName=this->GetDBName(m_nDBYear);
    42.  CFileFind ff;
    43.  if(!ff.FindFile(strDBName))
    44.  {
    45.   AfxMessageBox("数据库不存在,请先在高级设置对话框中创建数据库!");
    46.   return FALSE;
    47.  }
    48.  strConn="Provider='Microsoft.JET.OLEDB.4.0';Data source = " + strDBName;
    49.  _bstr_t strcnn(strConn);
    50.     try
    51.     {
    52.         TESTHR(hr = pCatalog.CreateInstance (__uuidof(Catalog)));
    53.         TESTHR(hr = pTableNew.CreateInstance(__uuidof(Table)));
    54.         TESTHR(hr = pIndexNew.CreateInstance(__uuidof(Index)));
    55.         TESTHR(hr = pIndex.CreateInstance   (__uuidof(Index)));
    56.         TESTHR(hr = pColumn.CreateInstance  (__uuidof(Column)));
    57.   
    58.         // 连接
    59.         pCatalog->PutActiveConnection(strcnn);
    60.         // 表名
    61.         pTableNew->Name = _bstr_t(strTabName);
    62.   pTableNew->ParentCatalog = pCatalog;
    63.   //
    64.   //m_pTableNew->Columns->Append("ContactId", ::adInteger,0);          
    65.         //m_pTableNew->Columns->GetItem("ContactId")->Properties->GetItem("AutoIncrement")->Value = true;
    66.   
    67.   // 加入字段
    68.   CString str;
    69.   str = _T("公司名称");//"公司名称";
    70.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    71.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false//将必填字段设置为否
    72.   str = _T("产品名称");//"产品名称";
    73.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    74.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false;
    75.   str = _T("产品规格");//"产品名称";
    76.   pTableNew->Columns->Append(_variant_t(str), ADOCG::adVarWChar, 50);
    77.         pTableNew->Columns->GetItem(_variant_t(str))->Properties->GetItem("Jet OLEDB:Allow Zero Length")->Value =false;
    78.      /
    79.      
    80.   // 加入表中
    81.         pCatalog->Tables->Append(_variant_t ((IDispatch*)pTableNew));        
    82.         pCatalog->Tables->Refresh();
    83.   
    84.     }
    85.     catch(_com_error &e)
    86.     {
    87.         _bstr_t bstrSource(e.Source());
    88.         _bstr_t bstrDescription(e.Description());
    89.   AfxMessageBox(e.Description());
    90.   return FALSE;
    91.    
    92.     }
    93.  return TRUE;
    94. }
    95. //4.判断一个表在数据库中是否存在
    96. BOOL CDeRenDlg::IsTalbeExit(CString strTable)
    97. {
    98.  try 
    99.  { 
    100.   if(!m_adoConnection.IsOpen()) return FALSE;
    101.   
    102.   _RecordsetPtr   pRstSchema   =   NULL;
    103.   pRstSchema=m_adoConnection.OpenSchema(adSchemaTables);
    104.   
    105.   while(!pRstSchema->adoEOF) 
    106.   { 
    107.    _bstr_t table_name = pRstSchema->Fields->GetItem("TABLE_NAME")->Value;
    108.    _bstr_t table_type = pRstSchema->Fields->GetItem("TABLE_TYPE")->Value;
    109.    if ( strcmp(((LPCSTR)table_type),"TABLE")==0)
    110.    {
    111.     if(strTable.Compare((LPCSTR)table_name)==0)return  true;
    112.    } 
    113.   
    114.    pRstSchema->MoveNext(); 
    115.   }
    116.   
    117.   if(pRstSchema) pRstSchema->Close(); 
    118.  }
    119.  catch(_com_error e)// 
    120.  { 
    121.   ::MessageBox(NULL,e.Description(),"Error",MB_OK);
    122.   return FALSE;
    123.  }
    124.  return false;
    125. }

    转载于:http://blog.sina.com.cn/s/blog_610c1cad0100yhrr.html
    展开全文
  • Access数据库创建与管理Access数据库创建与管理Access数据库创建与管理
  • 创建Access数据库

    2014-08-21 15:48:59
    包括 Access 数据库创建,添加,删除,查找功能类。
  • Access 2003基础 Access 2003中创建数据库
  • access2003数据库创建视频,利用向导
  • 易语言对象创建ACCESS数据库源码,对象创建ACCESS数据库
  • 易语言动态创建ACCESS数据库源码,动态创建ACCESS数据库
  • 创建Access数据库和压缩数据库之前必须填加以下动态连接库msADOX.dll、msjro.dll且它们都是在系统盘的system/ado文件价下,然后必须引用以下命名空间usingADOX;//该命名空间包含创建ACCESS的类(方法)usingJRO;//该...

    在创建Access数据库和压缩数据库之前必须填加以下动态连接库msADOX.dll、msjro.dll且它们都是在系统盘的system/ado文件价下,然后必须引用以下命名空间
    using ADOX; //该命名空间包含创建ACCESS的类(方法)using JRO; //该命名空间包含压缩ACCESS的类(方法)
    创建Access数据库代码如下:
    //DBPath是属于数据库的物理路径;
     public static void CreateAccess(string DBPath)
            
    {
                
    if (File.Exists(DBPath))//检查数据库是否已存在
                {
                    
    throw new Exception("目标数据库已存在,无法创建");
                }
               
                DBPath 
    = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DBPath;
                
    //创建一个CatalogClass对象实例
                ADOX.CatalogClass cat = new ADOX.CatalogClass();
                
    //使用CatalogClass对象的Create方法创建ACCESS数据库
                cat.Create(DBPath);

            }

    压缩数据库代码如下:

    public static void Compact()
        
    {
            
    string mdbPath =""//添写数据库的物理路径
            string temp2 = "";
            
    string mdbPath2 = "";
            
    if (!File.Exists(mdbPath)) //检查数据库是否已存在
            {
                
    throw new Exception("目标数据库不存在,无法压缩");
            }

            
    //声明临时数据库的名称
            string temp = DateTime.Now.Year.ToString();
            temp 
    += DateTime.Now.Month.ToString();
            temp 
    += DateTime.Now.Day.ToString();
            temp 
    += DateTime.Now.Hour.ToString();
            temp 
    += DateTime.Now.Minute.ToString();
            temp 
    += DateTime.Now.Second.ToString() + ".bak";
            temp 
    = mdbPath.Substring(0, mdbPath.LastIndexOf("\\"+ 1+ temp;
            
    //定义临时数据库的连接字符串
            temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp;
            
    //定义目标数据库的连接字符串
            mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath;
            
    //创建一个JetEngineClass对象的实例
            JRO.JetEngineClass jt = new JRO.JetEngineClass();
            
    //使用JetEngineClass对象的CompactDatabase方法压缩修复数据库
            jt.CompactDatabase(mdbPath2, temp2);
            
    //拷贝临时数据库到目标数据库(覆盖)
            File.Copy(temp,mdbPath, true);
            
    //最后删除临时数据库
            File.Delete(temp);
        }

    转载于:https://www.cnblogs.com/yxyzy/p/3516843.html

    展开全文
  • 内容索引:VB源码,数据库应用,数据库 VB动态创建一个ACCESS数据库的小程序,没有界面,在工程下直接编译就可生成数据库,比较低级的程序,帮助编程朋友熟悉创建ACCESS数据库的要点,方便以后对数据库进行操作。
  • 创建数据库.创建 (“ADOX.Catalog”, ) 创建数据库.通用方法 (“Create”, “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + 通用对话框1.文件名) 创建数据库.清除 () 方法二: 抛弃对话框,直接取运行目录...
  • VB创建ACCESS数据库全解 动态创建数据库、创建表,创建记录 ADO、ADOX2010
  • ADODB创建ACCESS数据库

    2012-06-27 10:37:30
    通过ADODB轻松创建ACCESS数据库,C#源代码。
  • 易语言源码易语言对象创建ACCESS数据库源码.rar 易语言源码易语言对象创建ACCESS数据库源码.rar 易语言源码易语言对象创建ACCESS数据库源码.rar 易语言源码易语言对象创建ACCESS数据库源码.rar 易语言源码易语言...
  • C# 创建Access数据库

    2010-03-10 17:22:04
    C# 创建Access数据库表C# 创建Access数据库
  • 创建数据库

    2015-10-05 13:06:18
    但这一切都基于我们先要创建一个数据库,利用SqlServer、MySqL、Access创建数据库相对来书比较容易,但Oracle可能略显繁琐些。 创建数据库步骤: 第一步:打开“创建数据”库界面 “开始”→“OraDb

           在软件开发中,我们一定会用到数据库,例如:SqlServer、MySqL、Access以及Oracle。我们会在数据库中创建表、视图等来存储数据,以及对数据进行增删改查等操作。但这一切都基于我们先要创建一个数据库,利用SqlServer、MySqL、Access创建数据库相对来书比较容易,但Oracle可能略显繁琐些。

    创建数据库步骤:

    第一步:打开“创建数据”库界面

    “开始”→“OraDb10g_home”→“配置与移植工具”→“Database Configuration Assistant”(数据库配置工具,右键以管理员身份运行),进入创建数据库界面,选择相应的操作类型,这里选择“创建数据库”。从标题中可以看到创建数据库一共分为12步骤


    第二步:选择数据库模板

    点击“下一步”,进入“步骤2”界面。在这个界面中我们选择第一项“一般用途或事物处理”。


    第三步:确定数据库全局名称

    点击“下一步”,进入“步骤3”界面。在“全局数据库名”中输入数据库的名称(字母不要太长尽量在8个字符以内)。“SID”一般与全局数据库名”一致(SID即是INSTANCE_NAME=实例名,主要用于区分同一台计算机上的同一个数据库的不同实例)。


    第四步:创建用户登录密码

    点击“下一步”,进入“步骤5”,创建数据库登录密码。这里既可以选择“所有账户使用统一口令”也可以选择“使用不同口令”,刚开始建议使用同一口令,相对而言比较方便。


    第五步:选择数据库存放位置

    点击“下一步”,进入“步骤7”,我通常选择第二项“所有数据库文件使用公共位置”,即将创建的数据库放在自己喜欢的位置,而不是数据库默认位置。


    之后点击下一步,直到数据库完成。


    展开全文
  • 通过Excel VBA ADO创建Access数据库(源代码)!!!!!
  • 易语言创建Access数据库源码
  • 创建Access数据库.txt

    2010-01-11 16:53:42
    创建Access数据库.txt创建Access数据库.txt
  • VB动态创建access数据库
  • ADOX创建ACCESS数据库

    2019-12-13 10:51:49
    用ADOX创建access数据库方法很简单,只需要创建一个Catalog对象,然后调用它的Create方法就可以了。 例程ADOXCreateDatabase演示如何使用ADOX创建一个ACCESS数据库。 打开VC++ 6.0,新建一个基...
  • C# 创建Access数据库

    2020-08-11 11:18:56
    这是一个创建Access数据库的方法,引入ADOX,就可以直接使用的。 public static void CreateDate(string createDatabasePath) { ADOX.Catalog catalog = new Catalog(); try { // 定义创建数据的版本12.0, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,532
精华内容 2,212
关键字:

access创建数据库