ADO 操作 Access 数据库的方式还挺实用的,尤其在维护老项目或者搞点轻量级的数据应用时,出手快、见效也快。

ADO 的对象模型蛮直观,Connection用来连数据库,Command跑 SQL 语句,Recordset负责拿数据,这仨基本就能干大部分活了。再加上Parameter,搞点参数化查询也挺方便。

比如你要连个 Access 数据库,只要一串连接字符串丢给Connection就行,像这样:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDatabase.mdbOpen一下,搞定。

写查询也不复杂,Command 对象配个CommandText,加点参数就能跑。你要查Customers表里的数据,只要:

cmd.CommandText = "SELECT * FROM Customers"
Set rs = cmd.Execute

返回来的Recordset就是你要的数据,可以一行一行读,也能直接绑定到控件上,响应还挺快。

参数化查询也支持,防 SQL 注入也靠谱。你可以这样写:

cmd.CommandText = "SELECT * FROM Customers WHERE Name = @Name"
cmd.Parameters.Append cmd.CreateParameter("@Name", adVarChar, adParamInput, 50, "John")

你要是搞插入、更新甚至事务也没问题,用cmd.Execute跑就行。比如插入:

cmd.CommandText = "INSERT INTO Customers (Name, Address) VALUES (?, ?)"
cmd.Parameters.Append cmd.CreateParameter("@Name", adVarChar, adParamInput, 50)
cmd.Parameters.Append cmd.CreateParameter("@Address", adVarChar, adParamInput, 100)
cmd.Parameters("@Name").Value = "New Customer"
cmd.Parameters("@Address").Value = "123 Main St"
cmd.Execute

不过哦,记得加上错误。VB 里用On Error,.NET 里用Try...Catch,别等崩了才发现出事了。

如果你现在还在和 Access 打交道,或者项目里用 VBA、VB6、甚至老 C++,那用 ADO 来连数据库,真的还蛮合适的。