Oct 25th, 2008, 11:12 | #1 |
Senior Member
注册日期: Jul 2004
帖子: 129
|
【求助】Access数据库问题
最近需要做个程序,从一个Access数据库中读取一些信息,在C编译时生成一个头文件。对这块不太清楚,请教各位用什么语言比较合适?还有哪里能找到些参考的资料。多谢了先!
|
|
Oct 25th, 2008, 19:53 | 只看该作者 #6 |
Senior Member
注册日期: Aug 2007
帖子: 209
声望: 0
|
还是不太明白,你那个embedded system是和客户的access数据库是有网络连接的?你那个embedded system 中是否有embedded database(sql anywhere or sqlite)?如果有网络连接和embedded database的话,最土的方法就是两边用同样的数据库,然后做同步,当然在客户那里access也要与新的embedded database做同步。或者直接写tcp socket程序,定时或者实时更新数据。
|
|
Oct 28th, 2008, 14:58 | 只看该作者 #10 |
Senior Member
注册日期: Jul 2004
帖子: 318
积分:2
精华:1
声望: 401
|
If you know python, try following this: http://www.ecp.cc/pyado.html Actually, u can use any language, using ado as db interface, read dataset from access, and write out text file(the c header file). |
|
Nov 1st, 2008, 16:26 | 只看该作者 #14 |
Senior Member
注册日期: Sep 2006
帖子: 1,264
积分:1
精华:1
声望: 515313
|
简单的说,ADO是一个微软提供的方便应用程序访问数据库的统一接口。它的前台通过提供统一的接口以及自动化对象,可以在很多种语言中使用。它的后台通过连接不同的OLEDB/ODBD Provider可以来连接不同的数据库,例如Access,SQLSERVER、Oracle、DB2等。Access本身提供了另外一套访问它内部数据的接口,你可以根据自己的需要挑简单的使用。 这是一个使用Access 12的例子: 代码:
// import type library of Access 12 #import <libid:4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28> rename("EOF", "EndOfFile") HRESULT MyFunc(LPCTSTR lpszDB) { DAO::_DBEnginePtr spEngine; HRESULT hr = spEngine.CreateInstance(__uuidof(DAO::DBEngine)); if(SUCCEEDED(hr)) { DAO::DatabasePtr spDB; hr = spEngine->raw_OpenDatabase(_bstr_t(lpszDB), vtMissing, vtMissing, vtMissing, &spDB); if(SUCCEEDED(hr)) { DAO::RecordsetPtr spRst; hr = spDB->raw_OpenRecordset(_bstr_t(L"SELECT * FROM MyTable ORDER BY MyCol1"), _variant_t(DAO::dbOpenDynaset), _variant_t(DAO::dbForwardOnly), _variant_t(DAO::dbOptimistic), &spRst); if(SUCCEEDED(hr)) { while(!spRst->EndOfFile) { CString strCol1 = spRst->GetCollect(L"MyCol1").bstrVal; long nCol2 = (LONG)spRst->GetCollect(L"MyCol2"); //... spRst->MoveNext(); } } } } return hr; } |
|