源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#动态创建Access数据库及表的方法

  • 时间:2020-12-10 20:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#动态创建Access数据库及表的方法
本文实例讲述了C#动态创建Access数据库及表的方法。分享给大家供大家参考。 具体实现方法如下:
[u]复制代码[/u] 代码如下:
//添加两个com组件引用 //Microsoft ADO Ext. 2.8 for DDL and Security //Microsoft ActiveX Data Objects 2.8 Library   using System; using System.Collections.Generic; using System.Linq; using System.Text; using ADOX; using System.IO; namespace WebRequestTest.Common {     public static class AccessDbHelper     {         /// <summary>         /// 创建access数据库         /// </summary>         /// <param name="filePath">数据库文件的全路径,如 D:\\NewDb.mdb</param>         public static bool CreateAccessDb(string filePath)         {             ADOX.Catalog catalog = new Catalog();             if (!File.Exists(filePath))             {                 try                 {                     catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;DData Source=" + filePath + ";Jet OLEDB:Engine Type=5");                 }                 catch (System.Exception ex)                 {                     return false;                 }             }             return true;         }         /// <summary>         /// 在access数据库中创建表         /// </summary>         /// <param name="filePath">数据库表文件全路径如D:\\NewDb.mdb 没有则创建 </param>         /// <param name="tableName">表名</param>         /// <param name="colums">ADOX.Column对象数组</param>         public static void CreateAccessTable(string filePath, string tableName, params ADOX.Column[] colums)         {             ADOX.Catalog catalog = new Catalog();             //数据库文件不存在则创建             if (!File.Exists(filePath))             {                 try                 {                     catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Jet OLEDB:Engine Type=5");                 }                 catch (System.Exception ex)                 {                 }             }             ADODB.Connection cn = new ADODB.Connection();             cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath, null, null, -1);             catalog.ActiveConnection = cn;             ADOX.Table table = new ADOX.Table();             table.Name = tableName;             foreach (var column in colums)             {                 table.Columns.Append(column);             }            // column.ParentCatalog = catalog;             //column.Properties["AutoIncrement"].Value = true; //设置自动增长             //table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); //定义主键             catalog.Tables.Append(table);             cn.Close();         }             //========================================================================================调用            //ADOX.Column[] columns = {            //                     new ADOX.Column(){Name="id",Type=DataTypeEnum.adInteger,DefinedSize=9},            //                     new ADOX.Column(){Name="col1",Type=DataTypeEnum.adWChar,DefinedSize=50},            //                     new ADOX.Column(){Name="col2",Type=DataTypeEnum.adLongVarChar,DefinedSize=50}            //                 };            // AccessDbHelper.CreateAccessTable("d:\\111.mdb", "testTable", columns);     } }
希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部