odbc-VC6.0 ODBC 驱动程序不支持动态记录集

问题描述

VC6.0 ODBC 驱动程序不支持动态记录集

解决方案

我把m_useBLOB.Open(CRecordset::dynaset, strSQL); 改成m_useBLOB.Open(CRecordset::snapshot, strSQL);就好了
CRecordset::dynaset与CRecordset::snapshot具体有什么区别还不清楚,问题暂时排出了

解决方案二:

设计了两个按钮,SAVE按钮表示向数据库存储二进制文件,read表示从数据库中把数据读出来,点击READ是会弹出ODBC 驱动程序不支持动态记录集

如果先点击Read按钮会弹出数据被截断;test1.doc里面依然没有数据写入。

void CTBLOBDlg::OnBtnRead()
{
// TODO: Add your control notification handler code here
try
{
CString strSQL = "select * from testBLOB where ID =16";//
m_useBLOB.Open(CRecordset::dynaset, strSQL);
if(m_useBLOB.IsEOF())
AfxMessageBox("Unable to get image from db");
else
{
char tmpPath[_MAX_PATH+1];
GetTempPath(_MAX_PATH,tmpPath);

        CString strFileName = _T("C:\test1.doc");

        CFile   outFile(strFileName,CFile::modeCreate|CFile::modeWrite);
        LPSTR   buffer = (LPSTR)GlobalLock(m_useBLOB.m_BLOB.m_hData);
        outFile.WriteHuge(buffer,m_useBLOB.m_BLOB.m_dwDataLength);
        GlobalUnlock(m_useBLOB.m_BLOB.m_hData);
        outFile.Close();
    }

    m_useBLOB.Close();

}
catch(CException* pE)
{
    pE->ReportError();
    pE->Delete();
    return;
}

}

解决方案三:

odbc太老了,用ado试试。

时间: 2024-11-01 17:58:58

odbc-VC6.0 ODBC 驱动程序不支持动态记录集的相关文章

VC6.0 ODBC 直接操作EXCEL的问题!

问题描述 请教各位大侠,我参考了网上下载的一个通过ODBC直接来操作EXCEL的程序,可是我希望往EXCEL里面加入一条记录的时候,总是提示"操作必须使用一个可更新的查询",不知道是什么原因!我是做硬件驱动的,VC也是自己才刚刚学,问题可能很初级,呵呵,大家别笑话我,代码下下面!...//这里省略了一些得到路径的代码//创建进行存取的字符串sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);//打开

sqlgetstmtattr-求教vc6.0下关于ODBC API 中SQLGetStmtAttr函数的应用

问题描述 求教vc6.0下关于ODBC API 中SQLGetStmtAttr函数的应用 查了很多资料包括MSDN中关于SQLGetStmtAttr函数的应用,但是由于MSDN是英文版的,看的有点模糊,请教各位大哥来个中文的解释,包括该函数的参数的说明,以及用途.以下代码: DWORD CODBCRecordSet::GetRowNumber() { DWORD dwRowNumber; m_retcode = ::SQLGetStmtAttr ( m_hstmt, SQL_ATTR_ROW_N

odbc-sql ODBC驱动程序不支持所需的属性

问题描述 sql ODBC驱动程序不支持所需的属性 数据库查询语句SELECT di.[GUID],di.DeviceName,si.nYear, dg.GroupID,dg.GroupName,si.OperateTime,si.OperateMold FROM deviceinfo AS di INNER JOIN devicegroupunderusergroup AS dg ON di.DeviceID = dg.DeviceID INNER JOIN setupinfo AS si O

ODBC 驱动程序不支持所需的属性。

问题描述 setrst=server.CreateObject("adodb.recordset")sq1="select*from[umimy],[info]where[u_user]=[i_uid]"rst.opensq1,conn,1,1第39行whilenotrst.eof错误类型:MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)ODBC驱动程序不支持所需的属性./fifasp/e6.asp,第39行错在哪里?

access-关于vc6.0利用ADO动态链接ACCESS不成功的问题

问题描述 关于vc6.0利用ADO动态链接ACCESS不成功的问题 void CDBDlg::OnButtonOpen() { // TODO: Add your control notification handler code here//建立一个对话框,选择mdb文件 static char BASED_CODE szFilter[] = ""mbd文件 (*.mdb)|*.mdb|所有文件 (*.*)|*.*||"";char Buffer[MAX_PATH

严重: 此驱动程序不支持 Java Runtime Environment (JRE) 1.6 版。请使用支持 JDBC 4.0 的 sqljdbc4.jar

问题描述 驱动已经换了好多次了1.8的换成1.6还是这个问题严重:此驱动程序不支持JavaRuntimeEnvironment(JRE)1.6版.请使用支持JDBC4.0的sqljdbc4.jar类库.java.lang.UnsupportedOperationException:此驱动程序不支持JavaRuntimeEnvironment(JRE)1.6版.请使用支持JDBC4.0的sqljdbc4.jar类库.atcom.microsoft.sqlserver.jdbc.SQLServerC

用VC6.0集成环境快速开发VxD

VxD (Virtual Device Driver), 即虚拟设备驱动程序, 是运行在处理器Ring0特权级别的驱动程序,可以执行任何处理器指令,访问机器中的任何数据寄存器.VxD被用作Windows 9x系统和物理设备之间的接口,扩展了WINDOWS 系统的核心服务,能够访问和控制实际的硬件环境. 随着WIN 2000和新一代的设备驱动程序WDM(Windows Driver Model)推出,预计VxD将慢慢过时,而现实情况却是:随便打开一种网络计数器的统计窗口就会发现,Windows 9

使用VC6.0实现窗口的任意分割

一.关于CSplitterWnd类 我们在使用CuteFtp或者NetAnt等工具的时候,一般都会被其复杂的界面所吸引,在这些界面中窗口被分割为若干的区域,真正做到了窗口的任意分割. 那么我们自己如何创建类似的界面,也实现窗口的任意的分割呢 ?在VC6.0中这就需要使用到CSplitterWnd类.CSplitterWnd看上去像是一种特殊的框架窗口,每个窗口都被相同的或者不同的视图所填充.当窗口被切分后用户可以使用鼠标移动切分条来调整窗口的相对尺寸.虽然VC6.0支持从AppWizard中创建

vc++-VC6.0打开数据库出现内存不足

问题描述 VC6.0打开数据库出现内存不足 CRecordSet m_useBLOB; CRecordSet是CRecordset派生的类 try { m_useBLOB.Open(); //断点调试到这一步的时候直接跳到catch 报错,提示内存不足 -- catch(CException* pE) { pE->ReportError(); pE->Delete(); return; } 昨天一切还正常,现在只能写进一条记录,写入第二条记录就回提示内存不足 运行环境VC6.0 SQL2005