请教各位高手,我刚刚接触MFC数据库编程.使用的是ADO .用的DataGrid控件.数据库的增删改查询都会用了.但是有个问题未解决,就是如何将从数据库中查询到的数据赋值给一个变量.
我想做的是将数据库中取到的数据通过网络传送给别人,用的是Socket传送.网络编程已经解决.但是如何从数据库中取数据,并将取出的数据赋值给作为发送对象的变量,这一点不会.所以想请教一下各位高手,如何解决.最好能有代码.
不胜感谢..
我想做的是将数据库中取到的数据通过网络传送给别人,用的是Socket传送.网络编程已经解决.但是如何从数据库中取数据,并将取出的数据赋值给作为发送对象的变量,这一点不会.所以想请教一下各位高手,如何解决.最好能有代码.
不胜感谢..
try
{
int nIndex=0; //记录序号
CString strSQL = "select * from Student"; //读取所有记录
m_pRecordSet->Open(_variant_t(strSQL),
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
adCmdText);
while (!m_pRecordSet->adoEOF)//记录尾
{
_variant_t var; //临时变量
CString strSN; //学号
CString strName; //姓名
CString strState; //状态
CString strGrade; //成绩
//读取“学号”字段
var = m_pRecordSet->GetCollect("STD_SN");
if (var.vt != VT_NULL)
{
strSN = (LPCSTR)_bstr_t(var);
}
//读取“姓名”字段
var = m_pRecordSet->GetCollect("STD_NAME");
if (var.vt != VT_NULL)
{
strName = (LPCSTR)_bstr_t(var);
} //读取“状态”字段
var = m_pRecordSet->GetCollect("STD_STATE");
if (var.vt != VT_NULL)
{
strState = (LPCSTR)_bstr_t(var);
}
//读取“成绩”字段
var = m_pRecordSet->GetCollect("STD_GRADE");
if (var.vt != VT_NULL)
{
strGrade = (LPCSTR)_bstr_t(var);
}
m_pRecordSet->MoveNext(); //移动记录
nIndex++; //记录序号加1
}
m_pRecordSet->Close();//关闭
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
catch(...)
{
AfxMessageBox("访问数据库服务器时发生异常。");
return;
}