C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法
本文實(shí)例講述了C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫及表的方法。分享給大家供大家參考。
具體實(shí)現(xiàn)方法如下:
//添加兩個(gè)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>
/// 創(chuàng)建access數(shù)據(jù)庫
/// </summary>
/// <param name="filePath">數(shù)據(jù)庫文件的全路徑,如 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數(shù)據(jù)庫中創(chuàng)建表
/// </summary>
/// <param name="filePath">數(shù)據(jù)庫表文件全路徑如D:\\NewDb.mdb 沒有則創(chuàng)建 </param>
/// <param name="tableName">表名</param>
/// <param name="colums">ADOX.Column對象數(shù)組</param>
public static void CreateAccessTable(string filePath, string tableName, params ADOX.Column[] colums)
{
ADOX.Catalog catalog = new Catalog();
//數(shù)據(jù)庫文件不存在則創(chuàng)建
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; //設(shè)置自動(dòng)增長
//table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); //定義主鍵
catalog.Tables.Append(table);
cn.Close();
}
//========================================================================================調(diào)用
//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#程序設(shè)計(jì)有所幫助。
- C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫
- C# 操作 access 數(shù)據(jù)庫的實(shí)例代碼
- c# 使用Entity Framework操作Access數(shù)據(jù)庫的示例
- C#連接Oracle數(shù)據(jù)庫使用Oracle.ManagedDataAccess.dll
- C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫操作類完整實(shí)例
- C#編程實(shí)現(xiàn)連接ACCESS數(shù)據(jù)庫實(shí)例詳解
- c#連接access數(shù)據(jù)庫操作類分享
- C# Access數(shù)據(jù)庫增刪查改的簡單方法
- C#操作Access數(shù)據(jù)庫的實(shí)現(xiàn)過程(vs2019)
相關(guān)文章
老生常談C#?中的?StreamReader?和?StreamWriter?類
這篇文章主要介紹了老生常談C#?中的?StreamReader?和?StreamWriter?類,StreamReader?和?StreamWriter?位于?System.IO?命名空間中,當(dāng)您想要讀取或?qū)懭牖谧址臄?shù)據(jù)時(shí),這兩個(gè)類都很有用,需要的朋友可以參考下2024-06-06
C# 添加對System.Configuration.dll文件的引用操作
這篇文章主要介紹了C# 添加對System.Configuration.dll文件的引用操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
Unity調(diào)用手機(jī)攝像機(jī)識別二維碼
這篇文章主要為大家詳細(xì)介紹了Unity調(diào)用手機(jī)攝像機(jī)識別二維碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
使用C#編寫簡單的圖形化的可發(fā)送附件的郵件客戶端程序
這篇文章主要介紹了使用C#編寫一個(gè)圖形化的可發(fā)送附件的郵件客戶端程序的方法,文中的示例同樣是基于支持smtp協(xié)議的郵件服務(wù)器,需要的朋友可以參考下2016-02-02
C#中ManualResetEvent實(shí)現(xiàn)線程的暫停與恢復(fù)
本文主要介紹了C#中ManualResetEvent實(shí)現(xiàn)線程的暫停與恢復(fù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
C# 動(dòng)態(tài)輸出Dos命令執(zhí)行結(jié)果的實(shí)例(附源碼)
這篇文章主要介紹了C# 動(dòng)態(tài)輸出Dos命令執(zhí)行結(jié)果的實(shí)例,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07

