新手高分请问怎么选择数据库访问形式以及怎么对数据库进行写操作

新手高分请教如何选择数据库访问形式以及如何对数据库进行写操作?
现有的MFC程序是用fprintf(fp, "%e\t%e\n ",a,b);来保存数据a和b到txt文档的,但现在需要将数据a和b以数据库的形式保存。
以前没有接触过数据库,看了孙鑫老师的最后一课视频教程,却讲的是查询而不是写操作,利用的是ADO方式。  
请教各位高手老手用MFC编程采用什么方式访问数据库比较方便快捷呢?
还有一个就是如何对数据库进行写操作呢?能一个简单的保存数据a和b的例子吗?
谢谢!


------解决方案--------------------
http://blog.sina.com.cn/u/4baa4852010007ud

http://blog.sina.com.cn/u/4baa4852010007um

http://blog.sina.com.cn/u/4baa4852010007v4

ADO访问数据库三例,看完了应该能满足你的需求了
------解决方案--------------------
数据量大或者同时访问用户多的话还是不要Access,SQL Server还可以满足,如果是要求性能超高和安全性好还是Oracle,如果想免费而且性能也不错,那就MySQL了。
------解决方案--------------------
如果以ADO的形式比较好!
示例:
ADOX 2.7

See Also
Append Method (Columns) | Append Method (Tables) | Name Property

? 1998-2001 Microsoft Corporation. All rights reserved.
Columns and Tables Append Methods, Name Property Example (VC++)
The following code demonstrates how to create a new table.

// BeginCreateTableCpp
#import "c:\Program Files\Common Files\system\ado\msadox.dll " \
no_namespace

#include "iostream.h "
#include "stdio.h "
#include "conio.h "

//Function declarations
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
void CreateTableX(void);

//////////////////////////////////////////////////////////
// //
// Main Function //
// //
//////////////////////////////////////////////////////////
void main()
{
if(FAILED(::CoInitialize(NULL)))
return;

CreateTableX();

::CoUninitialize();
}

//////////////////////////////////////////////////////////
// //
// CreateTableX Function //
// //
//////////////////////////////////////////////////////////
void CreateTableX()
{
HRESULT hr = S_OK;

// Define ADOX object pointers.
// Initialize pointers on define.
// These are in the ADOX:: namespace.
_CatalogPtr m_pCatalog = NULL;
_TablePtr m_pTable = NULL;

try
{
TESTHR(hr = m_pCatalog.CreateInstance(__uuidof(Catalog)));

//Open the catalog
m_pCatalog-> PutActiveConnection(
"Provider=Microsoft.Jet.OLEDB.4.0; " \
"data source=c:\\Program Files\\Microsoft Office "
"\\Office\\Samples\\Northwind.mdb; ");

TESTHR(hr = m_pTable.CreateInstance(__uuidof(Table)));
m_pTable-> PutName( "MyTable ");
m_pTable-> Columns-> Append( "Column1 ",adInteger,0);
m_pTable-> Columns-> Append( "Column2 ",adInteger,0);
m_pTable-> Columns-> Append( "Column3 ",adVarWChar,50);
m_pCatalog-> Tables-> Append(
_variant_t((IDispatch *)m_pTable));

//Delete the table
m_pCatalog-> Tables-> Delete( "MyTable ");
}

catch(_com_error &e)
{
// Notify the user of errors if any.
_bstr_t bstrSource(e.Source());