• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > errorC2668:“ATL::CStringT<BaseType,StringTraits>::CStringT”:对重载函数的调用不明确

errorC2668:“ATL::CStringT<BaseType,StringTraits>::CStringT”:对重载函数的调用不明确

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了 errorC2668:“ATL::CStringT<BaseType,StringTraits>::CStringT”:对重载函数的调用不明确等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: error C2668: “ATL::CStringT<BaseType,StringTraits>::CStringT”: 对重载函数的调用不明确
描述:


#include "stdafx.h"
#include "MyProject.h"
#include "RxRecordset.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
RxRecordset::RxRecordset()
{
}
RxRecordset::~RxRecordset()
{
}
CString RxRecordset::GetFieldValue(CString Field)
{
CString sValue;
_variant_t value;
value=rst->GetCollect((_bstr_t)Field);
if(value.vt==VT_EMPTY ||value.vt==VT_NULL)
sValue="";
else
{
sValue=(char*)(_bstr_t)value;
sValue.TrimRight();
sValue.TrimLeft();
}
return sValue;
}
bool RxRecordset::Open(CString srecordset, UINT adCmd)
{
if(adCmd==adCmdTable)
sRecordset=srecordset;
else
sRecordset="("+srecordset+") DERIVEDTBL";
try{
 rst=cnn->Execute((_bstr_t)srecordset,NULL,adCmd);
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
int RxRecordset::GetRecordCount()
{
int nCount=0;
try{
rst->MoveFirst();
}
catch(...)
{
return 0;
}
if(rst->_EOF)
return 0;
while (!rst->_EOF)
{
rst->MoveNext();
nCount=nCount+1;
}
rst->MoveFirst();
return nCount;
}
bool RxRecordset::MoveFirst()
{
try{
rst->MoveFirst();
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
bool RxRecordset::MoveNext()
{
try{
rst->MoveNext();
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
bool RxRecordset::MoveLast()
{
try{
rst->MoveLast();
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
bool RxRecordset::MovePrevious()
{
try{
rst->MovePrevious();
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
bool RxRecordset::Move(int nRecordNumber)
{
try{
rst->MoveFirst();
rst->Move(nRecordNumber);
}
catch(_com_error&e)
{
this->GetErrors(e);
return false;
}
return true;
}
int RxRecordset::GetFieldCount()
{
int count;
try{
count=rst->GetFields()->GetCount();
}
catch(...)
{
return -1;
}
return count;
}
_RecordsetPtr RxRecordset::GetRecordset()
{
return rst;
}
void RxRecordset::GetErrors(_com_error eErrors)
{
CString string;
CFile file;
// file.Open("Error.Rxe",CFile::modeWrite|CFile::modeNoTruncate);
ErrorsPtr pErrors=cnn->GetErrors();
if (pErrors->GetCount()==0)
{
string=(char*)(_bstr_t)eErrors.ErrorMessage();
// file.Write(string+"\r\n",string.GetLength()+1);
//::AfxMessageBox(string);
}
else
{
for (int i=0;i<pErrors->GetCount();i++)
{
_bstr_t desc=pErrors->GetItem((long)i)->GetDescription();
string=(char*)desc;
// file.Write(string+"\r\n",string.GetLength()+1);
//::AfxMessageBox(string);
}
}
// file.Close();
}
void RxRecordset::Close()
{
rst->Close();
}
CString RxRecordset::GetFieldName(int nNumber)
{
CString sName;
_variant_t vName; 
try{
vName=rst->GetFields()->GetItem((long)nNumber)->GetName();
}
catch(_com_error&e)
{
GetErrors(e);
return "";
}
if(vName.vt==VT_EMPTY)
return "";
sName=(char*)(_bstr_t)vName;
sName.TrimLeft();
sName.TrimRight();
return sName;
}
CString RxRecordset::GetSQL()
{
return sRecordset;
}
CString RxRecordset::GetFieldType(int nNumber=0)
{
ADODB::DataTypeEnum type;
CString sType;
try{
rst->GetFields()->GetItem((long)nNumber)->get_Type(&type);
   }
catch(_com_error &e)
{
RxRecordset::GetErrors(e);
return adError; }
ADODB::DataTypeEnum tp[]={adBinary,adBoolean,adCurrency,adBigInt,adDecimal,adDouble,adInteger,adLongVarBinary,adNumeric,adSingle,adSmallInt,adTinyInt,adUnsignedBigInt,adUnsignedInt,adUnsignedSmallInt,adUnsignedTinyInt,adVarBinary,adBSTR,adChar,adLongVarChar,adLongVarWChar,adVarChar,adVarWChar,adWChar,adDate,adDBDate,adDBTime,adDBTimeStamp};
for(int i=0;i<28;i++)
{
if(type==tp[i])
break;
if(i==27)
return "未知类型";
if(i<2)
sType="逻辑型";
if(i>=2&& i<18)
sType="数值型";
if(i>=18 && i<25)
sType="字符型";
if(i>=25 && i<29)
sType="日期型";
}
return sType;
}
bool RxRecordset::IsNull(int nIndex)
{
long Attrib=rst->GetFields()->GetItem((long)nIndex)->Attributes;
if(Attrib&adFldIsNullable)
return false;
else
return true;
}
错误指向标记行,望大侠们帮帮小弟啊


解决方案1:

你想把DataTypeEnum中的实际数值返回?
catch(_com_error &e)
{
RxRecordset::GetErrors(e);
CString strMsg;
strMsg.Format("%d",(int)adError);
return strMsg;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • errorC2668:“ATL::CStringT<BaseType,StringTraits>::CStringT”:对重载函数的调用不明确

相关文章

  • 2017-06-05 服务的一个超奇怪的问题?
  • 2017-06-04 请问高手编写一个什么东西可以在任何开发工具上都可以调用它,运行它,例如是一个ActiveX,还是COM?在线等!!
  • 2017-06-04 不可能完成的任务!!richiedit中介乱码问题!!
  • 2017-06-05 请问:为什么有些窗口FindWindow不能找到它的句柄?
  • 2017-06-05 关于HOOK和Dll的几个疑问,请大家帮我看看
  • 2017-06-05 如何用程序控制其他窗口
  • 2017-06-04 DirectshowSDKcontrast的例子问题
  • 2017-06-05 请问线程和OnTimer函数哪个用来做后台的数据采集比较好?
  • 2017-06-05 高分求购使用WinAPI禁止Windows进行任务切换。谢谢!
  • 2017-06-05 dll返回值的问题。急,在线等。

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何用VC调用一DLL,这个DLL没有头文件,但是我知道它里面的函数名和变量??
    • createfont后,删除了hdc还是使用原来的
    • win32sdk编程如何创建线程?
    • js调用vc++写的ocx,提示“对象不支持此属性或方法”
    • CWebBrowser如何与加载的flash通信?
    • 关于调试dll的问题
    • 怎么判断windows的开机密码长度?
    • VS2008ATL建立服务的问题
    • 怎样生成控件类?
    • ADO怎样判断sqlserver中已经存在某个数据库

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有