创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
Posted Vincent_void
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建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) { table.Columns.Append(c.ColumnName, DataTypeEnum.adLongVarWChar); } 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; } 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) { sbValues.Append("‘" + CommUtils.DtRowFilter(row[c.ColumnName] + "") + "‘,"); } sbValues.Remove(sbValues.Length - 1, 1); sbValues.Append(");"); sbValues.AppendLine(""); //using (DBHelperAccess access = new DBHelperAccess(connStr)) //{ DBHelperAccess access = new DBHelperAccess(connStr); //DBHelperAccess access = new DBHelperAccess(connStr); access.ExecuteSQLNonquery(sbValues.ToString()); access.Conn.Dispose(); access = null; //} sbValues.Clear(); } GC.Collect(); } return count; }
以上是关于创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用的主要内容,如果未能解决你的问题,请参考以下文章
Mysql:我想创建一个触发器,它将基于员工表和类别表将数据插入用户访问权限表