能否给个VC中ADO连接SQL的具体例子?该怎么处理

能否给个VC中ADO连接SQL的具体例子?
要有具体步骤的,即从打开VC6.0开始,一步一步的。呵呵。
实现的功能很简单,只是要把对话框里填入userID和password这两个edit框,点击“确定”,就在SQL数据库(此库中有个UserInfo的表,有userid和password两个字段)中增加一条记录。谢谢。

关键是要有具体步骤,谢谢。(因为我在网上找了一些介绍ADO连SQL的连接代码,但我不知该把这些代码放在哪个.cpp文件中)

------解决方案--------------------
TCHAR errMsg[MAX_PATH];

::CoInitialize(NULL); //初始化Com
IADORecordBinding *picRs = NULL;
_RecordsetPtr pRs( "ADODB.Recordset ");
_ConnectionPtr pConn( "ADODB.Connection " );
// pConn-> Open( "Provider=MSDASQL;Data Source= MyTax ", " ", " ", NULL); //MSDASQL为OLE DB方式打开ODBC库的通用驱动程序
pConn-> Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Tax.mdb ", " ", " ",adModeUnknown); //如用OLE DB DAO方式的,则用此句,XXX.mdb要用英文名
pRs-> QueryInterface(
__uuidof(IADORecordBinding), (LPVOID*)&picRs);
CCustomRs rs;
try
{
pRs-> Open( "SELECT * FROM [工资表] ", // 查询DemoTable表中所有字段
pConn.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
picRs-> BindToRecordset(&rs);
}
catch (_com_error &e)
{
sprintf(errMsg,_T( "Code meaning = %s\n "), (char*) e.ErrorMessage());
AfxMessageBox(errMsg);
}
------解决方案--------------------
(1).在文件stdafx.h中最后一个#endif的前一行写入
#import "C:\program files\common files\System\ado\msado15.dll " no_namespace \
rename( "EOF ", "EndOfFile ") \
rename( "LockTypeEnum ", "newLockTypeEnum ")\
rename( "DataTypeEnum ", "newDataTypeEnum ")\
rename( "FieldAttributeEnum ", "newFieldAttributeEnum ")\
rename( "EditModeEnum ", "newEditModeEnum ")\
rename( "RecordStatusEnum ", "newRecordStatusEnum ")\
rename( "ParameterDirectionEnum ", "newParameterDirectionEnum ")
如果你的系统不是安装在C盘的话就把#import 后面的C改成系统所有的盘
(2).在C***App类的
public:下加入
_RecordsetPtr m_pADOSet;
bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL);
在private:下加入_ConnectionPtr ADOConn;
在class C***App : public CWinApp
{
...
};之后#endif之前加入extern C***App theApp;

(3)在BOOL C***App::InitInstance()函数中Enable3dControls(); // Call this when linking to MFC statically这一行下面加入
if( FAILED(::CoInitialize(NULL)) )
{
AfxMessageBox( "ADO Init failed ");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn-> Open( "DSN=OBDC数据源;Provider=MSDASQL ", "用户 ", "密码 ", adConnectUnspecified);//这一行要自已修改
}
catch(_com_error &e)
{
CString err;
err.Format( "%s ", (char*)(e.Description()) );
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox( "Unknown Error... ");
}
m_pADOSet.CreateInstance(__uuidof(Recordset));
并在文件最后加上如下代码:
bool C***App::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
if ( ADOSet-> State == adStateOpen) ADOSet-> Close();
try
{
ADOSet-> Open(strSQL, ADOConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);
return true;
}
catch(_com_error &e)
{
CString err;
err.Format( "ADO Error: %s ",(char*)e.Description());
AfxMessageBox(err);
return false;
}
}


最后就可以在登录时执行SQL语句了,比如用户为CString strUser, 密码是CString strPwd;数据库表是user_table(user_id, user_name, user_pwd)则