zoukankan      html  css  js  c++  java
  • C# Create Access File

      1         /// <summary>
      2         /// ADOX objects
      3         /// 创建Access数据
      4         /// 涂聚文 
      5         /// </summary>
      6         private void createAccessTest()
      7         {
      8                 string dbName = Server.MapPath("~"+ "\\" + Guid.NewGuid().ToString() + ".mdb"//"D:DataBaseFirstCatalog.mdb";
      9                 ADOX.CatalogClass catlog = new ADOX.CatalogClass();
     10                 catlog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";Jet OLEDB:Database password=123456;" + "Jet OLEDB:Engine Type=5");
     11 
     12                 ADOX.TableClass table = new ADOX.TableClass();
     13                 table.ParentCatalog = catlog;
     14                 table.Name = "FirstTable";
     15 
     16                 //StuId Column(AutoIncrement )
     17                 ADOX.ColumnClass col1 = new ADOX.ColumnClass();
     18                 col1.ParentCatalog = catlog;
     19                 col1.Type = ADOX.DataTypeEnum.adInteger; 
     20                 col1.Name = "StuId";
     21                 col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
     22                 col1.Properties["AutoIncrement"].Value = true;
     23                
     24                
     25                 //Name Column
     26                 ADOX.ColumnClass col2 = new ADOX.ColumnClass();
     27                 col2.ParentCatalog = catlog;
     28                 col2.Name = "StuName";
     29                 col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
     30                  
     31                 //Age Column
     32                 ADOX.ColumnClass col3 = new ADOX.ColumnClass();
     33                 col3.ParentCatalog = catlog;
     34                 col3.Name = "Stuage";
     35                 col3.Type = ADOX.DataTypeEnum.adDouble;
     36                 col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
     37 
     38                 // Primary
     39                 table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "StuId""""");
     40                 table.Columns.Append(col1, ADOX.DataTypeEnum.adInteger, 0);
     41                 table.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666);
     42                 table.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);
     43                 catlog.Tables.Append(table);
     44 
     45                 System.Runtime.InteropServices.Marshal.ReleaseComObject(table);
     46                 System.Runtime.InteropServices.Marshal.ReleaseComObject(catlog);
     47                 table = null;
     48                 catlog = null;
     49                 GC.WaitForPendingFinalizers();
     50                 GC.Collect();
     51         }
     52         /// <summary>
     53         /// 修改密码
     54         /// using ADOX;
     55         /// 涂聚文 
     56         ///引用COM:Microsoft ADO Ext. 2.8 for DDL and Security  
     57         ///添加引用:Microsoft ActioveX Data Objects 2.8 Library
     58         /// string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Jet OLEDB:Database Password=" + Pwd + ";Jet OLEDB:Engine Type=5"; 
     59         /// </summary>
     60         /// <param name="fileName">文件名称及地址</param>
     61         /// <param name="newpwd">新密码</param>
     62         /// <param name="openpwd">原密码</param>
     63         private void AlterAccessPassword(string fileName, string newpwd, string openpwd)
     64         {
     65             string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Jet OLEDB:Database password=" + openpwd;
     66             string sql = "ALTER DATABASE PASSWORD " + newpwd + " " + openpwd;
     67             ADODB.Connection cn = new ADODB.Connection();
     68             cn.Mode = ADODB.ConnectModeEnum.adModeShareExclusive;
     69             cn.Open(conn, nullnull-1);
     70             // 执行 SQL 语句以更改密码。   
     71             object num;
     72             cn.Execute(sql, out num, -1);
     73             cn.Close();
     74         }
     75         /// <summary>
     76         /// Create MDB file
     77         /// using System.IO;
     78         /// 涂聚文 
     79         /// </summary>
     80         /// <param name="filename">文件名称</param>
     81         public static void CreateAccessFile(string filename)
     82         {
     83 
     84             if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "DataBase\\"))
     85             {
     86 
     87                 Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + "DataBase\\");
     88 
     89             }
     90             ADOX.CatalogClass cat = new CatalogClass();
     91             string str = "provider=Microsoft.Jet.OleDb.4.0;Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "DataBase\\" + filename + ".mdb;";
     92 
     93             cat.Create(str);
     94 
     95             cat = null;
     96 
     97         }
     98         /// <summary>
     99         /// 创建MDB file
    100         /// using System.Runtime.InteropServices; 
    101         /// 涂聚文
    102         /// </summary>
    103         /// <param name="myPath">文件地址</param>
    104         /// <returns></returns>
    105         public bool GenerateLogDatabase(string myPath)
    106         {   
    107             CatalogClass cat = new CatalogClass();
    108             string strSQL;
    109             string cs;
    110 
    111             try
    112             {
    113                 cs = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    114                      "Data Source=" + myPath + ";" +
    115                      "Jet OLEDB:Engine Type=5";
    116 
    117                 strSQL = "CREATE TABLE Issues (mID AUTOINCREMENT, mUser TEXT(100) NOT NULL " +
    118                          ", mError TEXT(100) NOT NULL, " +
    119                          "mDescription TEXT(100) NOT NULL, mDate DATETIME NOT NULL)";
    120 
    121                 cat.Create(cs);
    122 
    123                 using (OleDbConnection cnn = new OleDbConnection(cs))
    124                 {
    125                     OleDbCommand cmd = new OleDbCommand();
    126                     try
    127                     {
    128                         cmd.CommandText = strSQL;
    129                         cmd.CommandType = CommandType.Text;
    130                         cmd.Connection = cnn;
    131                         cnn.Open();
    132                         cmd.ExecuteNonQuery();
    133                         cnn.Close();
    134                         return true;
    135                     }
    136                     catch (Exception)
    137                     {
    138                         throw;
    139                     }
    140                     finally
    141                     {
    142                         cnn.Close();
    143                         cmd.Dispose();
    144                     }
    145                 }
    146             }
    147             catch (Exception)
    148             {
    149                 throw;
    150             }
    151             finally
    152             {   
    153                 Marshal.FinalReleaseComObject(cat);
    154             }
    155         }

    http://msdn.microsoft.com/en-us/library/ms675541(v=vs.85).aspx
  • 相关阅读:
    07 JavaWeb
    06 XML编程(CRUD)
    05 XML
    04 DOM一窥
    03 Javascript初识
    02 CSS/javaScript
    01 HTML基础
    09_IO流
    08_集合概述
    07_基本数据类型和包装类
  • 原文地址:https://www.cnblogs.com/geovindu/p/1988946.html
Copyright © 2011-2022 走看看