创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
生活随笔
收集整理的這篇文章主要介紹了
创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 創建ACCESS數據庫,并且創建表和數據/// </summary>/// <param name="dictTable"></param>/// <param name="filePath"></param>/// <returns></returns>public int DataTableToAccess(Dictionary<string, DataTable> dictTable, string filePath){int count = 0;string connStr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Jet OLEDB:Engine Type=5", filePath);try{ADOX.Catalog catalog = new ADOX.Catalog();catalog.Create(connStr); //創建ACCESS數據庫
ADODB.Connection cn = new ADODB.Connection();cn.Open(connStr, null, null, -1);catalog.ActiveConnection = cn;foreach (var item in dictTable){ADOX.Table table = new ADOX.Table();table.Name = item.Key;foreach (DataColumn c in item.Value.Columns){ADOX.Column column = new ADOX.Column();column.ParentCatalog = catalog;column.Name = c.ColumnName;column.Type = DataTypeEnum.adLongVarWChar;//column.DefinedSize = 9;column.Attributes = ColumnAttributesEnum.adColNullable; //允許列有NULL值table.Columns.Append(column);}catalog.Tables.Append(table);}#region 釋放COM引用的對象 【該代碼塊在Release模式下運行有效】System.Runtime.InteropServices.Marshal.ReleaseComObject(catalog);System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog);catalog = null;cn.Close();GC.WaitForPendingFinalizers();GC.Collect();#endregion}catch (Exception ex){throw ex;}ArrayList array = new ArrayList();foreach (var item in dictTable){StringBuilder sbColumns = new StringBuilder();StringBuilder sbValues = new StringBuilder();sbColumns.Append("insert into [" + item.Key + "](");foreach (DataColumn c in item.Value.Columns){sbColumns.Append("[" + c.ColumnName + "],");}sbColumns.Remove(sbColumns.Length - 1, 1);sbColumns.Append(")");foreach (DataRow row in item.Value.Rows){sbValues.Append(sbColumns.ToString());sbValues.Append("values( ");foreach (DataColumn c in item.Value.Columns){if (row[c.ColumnName] == DBNull.Value){sbValues.Append("NULL,");}else{sbValues.Append("'" + CommUtils.DtRowFilter(row[c.ColumnName] + "") + "',");}}sbValues.Remove(sbValues.Length - 1, 1);sbValues.Append(");");array.Add(sbValues.ToString());sbValues.Clear();}}DBHelperAccess access = new DBHelperAccess(connStr);access.ExecuteSqlTran(array);access.Conn.Dispose();access = null;return count;}
?
轉載于:https://www.cnblogs.com/vincentvoid/p/5912150.html
總結
以上是生活随笔為你收集整理的创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【UOJ#67】新年的毒瘤
- 下一篇: 「枫桥夜泊」一诗