Access 操作学习记录
1.创建 Access 数据库,并关闭其连接
Access 操作的两个引用:
1) Microsoft ActiveX Data Objects 2.8 Library
2) Microsoft ADO Ext. 2.8 for DDL and Security
/// <summary>
/// 创建数据库并返回连接字符串
/// </summary>
/// <param name="dbName">路径+文件名</param>
/// <returns></returns>
public static bool CreateAccess(string dbName)
{
try
{
string databaseConn;
//dbName = @"d:\newAccess.mdb";
databaseConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";";
if (File.Exists(dbName)) return false;
// 创建数据库
ADOX.CatalogClass accessCatalog = new CatalogClass();
accessCatalog.Create(databaseConn);
#region
//// 创建一个表
//ADOX.TableClass table = new ADOX.TableClass();
//table.ParentCatalog = accessCatalog;
//table.Name = "MyTable";
//// 创建一个自动增长字段
//ADOX.ColumnClass col = new ADOX.ColumnClass();
//col.ParentCatalog = accessCatalog;
//col.Type = ADOX.DataTypeEnum.adInteger;//设置字段类型
//col.Name = "ID";
//col.Properties["jet OLEDB:Allow Zero Length"].Value = false;
//col.Properties["AutoIncrement"].Value = true;
//table.Columns.Append(col,ADOX.DataTypeEnum.adInteger,0);
//// 添加表
//accessCatalog.Tables.Append(table);
#endregion
/*
* 关闭数据库连接,必须通过 ADODB 来实现,否则创建的数据库无法删除
*/
ADODB.Connection connection = accessCatalog.ActiveConnection as ADODB.Connection;
if (connection != null)
{
相关文档:
学习wxWidgets的时候想用它连接数据库,不过wxWidgets的学习资料非常少,和ODBC有关的就更少,网络上找到的都不知道为什么无法正确运行。这是在CSDN上朋友的帮助下搞定的,自己验证过可以正确编译和运行、成功读取数据内容的代码:
wxWidgets版本:2.8.10(2.9以后的版本不支持ODBC ......
'excel导入access ,引用ADO
Private Sub Command1_Click()
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
On Error Resume Next
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source ......
Access保留字&变量名列表,建表时应避免使用这些词汇和符号。
-A
ADD
ALL
Alphanumeric
ALTER
AND
ANY
Application
AS
ASC
Assistant
AUTOINCREMENT
Avg
-B
BETWEEN
BINARY
BIT
BOOLEAN
BY
BYTE
-C
CHAR, CHARACTER
COLUMN
CompactDatabase
CONSTRAINT
Container
Count
COUNTER
CREATE
C ......
问题:目前还没有64位的Jet oledb provider
(不知以后有否),在64位系统上调用Jet oledb provider时会遇到如下错误:
"The
'Microsoft.jet.OLEDB.4.0' provider is not registered on the local machine.
"
解决:32位的Jet oledb provider是存在的,那么可以利用IIS的32 Mode特性,将web程序运行在32位模式 ......