国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#動態創建Access數據庫及表的方法

2020-01-24 02:13:15
字體:
來源:轉載
供稿:網友

本文實例講述了C#動態創建Access數據庫及表的方法。分享給大家供大家參考。

具體實現方法如下:

復制代碼 代碼如下:

//添加兩個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#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西昌市| 石狮市| 高雄市| 临江市| 绵阳市| 泌阳县| 丹凤县| 辛集市| 新巴尔虎右旗| 库伦旗| 新余市| 宣化县| 楚雄市| 孝感市| 宁陕县| 凌云县| 珠海市| 上饶县| 安新县| 郧西县| 星子县| 开远市| 峨边| 赤水市| 喀什市| 酒泉市| 高碑店市| 嫩江县| 中卫市| 名山县| 惠东县| 房山区| 渭南市| 凌云县| 天气| 方山县| 辉县市| 潼南县| 夏河县| 夏河县| 新津县|