void CODBCDemoView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
// 可以在此处插入 DDX_Field* 函数以将控件“连接”到数据库字段,例如
// DDX_FieldText(pDX, IDC_MYEDITBOX, m_pSet->m_szColumn1, m_pSet)
// DDX_FieldCheck(pDX, IDC_MYCHECKBOX, m_pSet->m_bColumn2, m_pSet);
// 有关更多信息,请参阅 MSDN 和 ODBC 示例
DDX_FieldText(pDX,IDC_SUPPLYERID,m_pSet->m_SupplierID,m_pSet);
DDX_FieldText(pDX,IDC_COMPANYNAME,m_pSet->m_CompanyName,m_pSet);
DDX_FieldText(pDX,IDC_CONTACTNAME,m_pSet->m_ContactName,m_pSet);
DDX_FieldText(pDX,IDC_CONTACTTITLE,m_pSet->m_ContactTitle,m_pSet);
DDX_FieldText(pDX,IDC_ADDRESS,m_pSet->m_Address,m_pSet);
DDX_FieldText(pDX,IDC_CITY,m_pSet->m_City,m_pSet);
DDX_FieldText(pDX,IDC_REGION,m_pSet->m_Region,m_pSet);
DDX_FieldText(pDX,IDC_POSTCODE,m_pSet->m_PostalCode,m_pSet);
DDX_FieldText(pDX,IDC_COUNTRY,m_pSet->m_Country,m_pSet);
DDX_FieldText(pDX,IDC_PHONE,m_pSet->m_Phone,m_pSet);
DDX_FieldText(pDX,IDC_FAX,m_pSet->m_Fax,m_pSet);
DDX_FieldText(pDX,IDC_HOMEPAGE,m_pSet->m_HomePage,m_pSet); DDX_Text(pDX, IDC_SUPPLYERID, m_nSupplierID);
}e:\Visual Studio Projects\ODBCDemo\ODBCDemoView.cpp(63): error C2665: “DDX_FieldText” : 所有的 10 重载都不能转换参数 3(从“CStringW”类型)
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(499): 可能是“void DDX_FieldText(CDataExchange *,int,BYTE &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(501): 或 “void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(503): 或 “void DDX_FieldText(CDataExchange *,int,UINT &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(505): 或 “void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(507): 或 “void DDX_FieldText(CDataExchange *,int,DWORD &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(509): 或 “void DDX_FieldText(CDataExchange *,int,CString &,CRecordset *)”
以上是我用ODBC做的一个数据库小程序,用的数据库是SQL Server 2000自带的Northwind中的表Supplier,我按照书上在对话框上添加EditControl 控件,并加入以上代码,编译时出错。以上有13个数据交换函数DDXFieldText但不是全部报错,像第一个就没问题,请问这是什么原因??
万分感谢!!
{
CRecordView::DoDataExchange(pDX);
// 可以在此处插入 DDX_Field* 函数以将控件“连接”到数据库字段,例如
// DDX_FieldText(pDX, IDC_MYEDITBOX, m_pSet->m_szColumn1, m_pSet)
// DDX_FieldCheck(pDX, IDC_MYCHECKBOX, m_pSet->m_bColumn2, m_pSet);
// 有关更多信息,请参阅 MSDN 和 ODBC 示例
DDX_FieldText(pDX,IDC_SUPPLYERID,m_pSet->m_SupplierID,m_pSet);
DDX_FieldText(pDX,IDC_COMPANYNAME,m_pSet->m_CompanyName,m_pSet);
DDX_FieldText(pDX,IDC_CONTACTNAME,m_pSet->m_ContactName,m_pSet);
DDX_FieldText(pDX,IDC_CONTACTTITLE,m_pSet->m_ContactTitle,m_pSet);
DDX_FieldText(pDX,IDC_ADDRESS,m_pSet->m_Address,m_pSet);
DDX_FieldText(pDX,IDC_CITY,m_pSet->m_City,m_pSet);
DDX_FieldText(pDX,IDC_REGION,m_pSet->m_Region,m_pSet);
DDX_FieldText(pDX,IDC_POSTCODE,m_pSet->m_PostalCode,m_pSet);
DDX_FieldText(pDX,IDC_COUNTRY,m_pSet->m_Country,m_pSet);
DDX_FieldText(pDX,IDC_PHONE,m_pSet->m_Phone,m_pSet);
DDX_FieldText(pDX,IDC_FAX,m_pSet->m_Fax,m_pSet);
DDX_FieldText(pDX,IDC_HOMEPAGE,m_pSet->m_HomePage,m_pSet); DDX_Text(pDX, IDC_SUPPLYERID, m_nSupplierID);
}e:\Visual Studio Projects\ODBCDemo\ODBCDemoView.cpp(63): error C2665: “DDX_FieldText” : 所有的 10 重载都不能转换参数 3(从“CStringW”类型)
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(499): 可能是“void DDX_FieldText(CDataExchange *,int,BYTE &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(501): 或 “void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(503): 或 “void DDX_FieldText(CDataExchange *,int,UINT &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(505): 或 “void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(507): 或 “void DDX_FieldText(CDataExchange *,int,DWORD &,CRecordset *)”
d:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include\afxdb.h(509): 或 “void DDX_FieldText(CDataExchange *,int,CString &,CRecordset *)”
以上是我用ODBC做的一个数据库小程序,用的数据库是SQL Server 2000自带的Northwind中的表Supplier,我按照书上在对话框上添加EditControl 控件,并加入以上代码,编译时出错。以上有13个数据交换函数DDXFieldText但不是全部报错,像第一个就没问题,请问这是什么原因??
万分感谢!!
解决方案 »
- 在vc6.0下,用c语言开发一个仿真系统
- 如何在多文档里边新建一个子框架窗口?
- 关于XML显示的一点问题
- 文件数据读取后如何填加到列表
- xml在应用程序开发中起到的作用是什么?
- 【紧急求助】200分。在win98中,鼠标弹出菜单过长时为什么不能显示?
- 我先装msdn再装vc出现的问题
- 高分求救!!!!
- COleDateTime和COleDateTimeSpan怎样使用??????
- 请问:我在这里提的问题以前高手帮我回答了 答案 会自己到我的邮箱 可是现在为什么 答案 不去我的邮箱?
- 我是一个初学者,请问如何改变文字的大小?
- WinPcap的截包问题pcap_next_ex( adhandle, &header, &pkt_data)
1。数据源的设置:在选择默认的数据库是选择的是什么?改为northwind看行不行!
2。数据库中的数据类型和你在系统中相应定义的数据的类型不一直!
// 以下字符串类型(如果存在)反映数据库字段(ANSI 数据类型的 CStringA 和 Unicode
// 数据类型的 CStringW)的实际数据类型。
// 这是为防止 ODBC 驱动程序执行可能
// 不必要的转换。如果希望,可以将这些成员更改为
// CString 类型,ODBC 驱动程序将执行所有必要的转换。
// (注意:必须使用 3.5 版或更高版本的 ODBC 驱动程序
// 以同时支持 Unicode 和这些转换)。我把原来的CStringW改成CString就没问题了。
谢谢大家!