请高手指教一下。这是我写的一段代码(从书中现学现用):
#include "stdafx.h"
#include "AdoTest.h"
#include <afx.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll"
no_namespace rename("EOF", "adoEOF")int main()
{
ConInitialize(NULL); try
{
//
_ConnectionPtr pCon("ADODB.Connection");
//
_RecordsetPtr pRs("ADODB.Recordset");
pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\data weather\\staioninf.mdf"," "," ",adConnectUnspecified); //
pRs->Open("select * from dbo.staioninf",_variant_t((IDispatch *)pCon,ture),adOpenForwardOnly,adLockReadOnly,adCmdUnknown); for(int i=0;i<2;i++)
{
CString province,city,stname,stationid;
float longitude,leight,latitude;
_variant_t var; var = pRs->GetCollect(_variant_t("LONGITUDE"));
var.ChangeType(VT_I2);
longitude=var.iVal; var =pRs->GetCollect(_variant_t("LATITUDE"));
var.ChangeType(VT_I2);
latitude=var.iVal; var =pRs->GetCollect(_variant_t("LEIGHT"));
var.ChangeType(VT_I2);
leight=var.iVal; var =pRs->GetCollect(_variant_t("PROVINCE"));
var.ChangeType(VT_BSTR);
province = var.bstrVal; var =pRs->GetCollect(_variant_t("CITY"));
var.ChangeType(VT_BSTR);
city = var.bstrVal; var =pRs->GetCollect(_variant_t("STNAME"));
var.ChangeType(VT_BSTR);
stname = var.bstrVal; var =pRs->GetCollect(_variant_t("STATIONID"));
var.ChangeType(VT_BSTR);
stationid = var.bstrVal; //
printf("%f\t%f\t%s\t%s\t%s\t%s\t%f\n",longitude,latitude,province,city,stname,stationid,leight);
pRs->MoveNext();
}
catch(CException * e)
{
e->ReportError();
e->Delete();
}
CoUninitialize();
return 0;
}
我不知道如何把sql server 2005 中的数据和vc相连,(并且numeric数据类型,int类型 以及char类型在vc中如何转换)。重要的是从进入vc++6.0开始如何一步步的建立,我一点头绪没有,书上也没有说,希望各路高手帮帮忙,小弟在这拜谢了。只要能从数据库中读出数据并且显示,剩下的我就知道该怎么做了!!谢谢!!!!!!
#include "stdafx.h"
#include "AdoTest.h"
#include <afx.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll"
no_namespace rename("EOF", "adoEOF")int main()
{
ConInitialize(NULL); try
{
//
_ConnectionPtr pCon("ADODB.Connection");
//
_RecordsetPtr pRs("ADODB.Recordset");
pCon->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\data weather\\staioninf.mdf"," "," ",adConnectUnspecified); //
pRs->Open("select * from dbo.staioninf",_variant_t((IDispatch *)pCon,ture),adOpenForwardOnly,adLockReadOnly,adCmdUnknown); for(int i=0;i<2;i++)
{
CString province,city,stname,stationid;
float longitude,leight,latitude;
_variant_t var; var = pRs->GetCollect(_variant_t("LONGITUDE"));
var.ChangeType(VT_I2);
longitude=var.iVal; var =pRs->GetCollect(_variant_t("LATITUDE"));
var.ChangeType(VT_I2);
latitude=var.iVal; var =pRs->GetCollect(_variant_t("LEIGHT"));
var.ChangeType(VT_I2);
leight=var.iVal; var =pRs->GetCollect(_variant_t("PROVINCE"));
var.ChangeType(VT_BSTR);
province = var.bstrVal; var =pRs->GetCollect(_variant_t("CITY"));
var.ChangeType(VT_BSTR);
city = var.bstrVal; var =pRs->GetCollect(_variant_t("STNAME"));
var.ChangeType(VT_BSTR);
stname = var.bstrVal; var =pRs->GetCollect(_variant_t("STATIONID"));
var.ChangeType(VT_BSTR);
stationid = var.bstrVal; //
printf("%f\t%f\t%s\t%s\t%s\t%s\t%f\n",longitude,latitude,province,city,stname,stationid,leight);
pRs->MoveNext();
}
catch(CException * e)
{
e->ReportError();
e->Delete();
}
CoUninitialize();
return 0;
}
我不知道如何把sql server 2005 中的数据和vc相连,(并且numeric数据类型,int类型 以及char类型在vc中如何转换)。重要的是从进入vc++6.0开始如何一步步的建立,我一点头绪没有,书上也没有说,希望各路高手帮帮忙,小弟在这拜谢了。只要能从数据库中读出数据并且显示,剩下的我就知道该怎么做了!!谢谢!!!!!!
我也不懂,但是这个好像和具体要连的数据库有关,好像不是这么的吧
no_namespace rename("EOF", "adoEOF")
#import "C:\Program Files\Common Files\System\ado\msado15.dll“ \ (在这个加个反斜杆试试)
no_namespace rename("EOF", "adoEOF")
也有现成别人写好的ADO封装类。CSDN上就有下的