高分!VC下用ODBC连接Oracle的问题

nojave nojave 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
vc下用ODBC连接Oracle,使用CRecordSet派生类:CODBC,发现可以得到查询结果,但是进行编辑时就报错:“记录集是只读”。请教各位这种问题如何解决,刚开始用VC,请各位多多指教。

ODBC.h的代码如下:
#if !defined(AFX_ODBC_H__3393FF31_78E7_45B0_BD40_3A4F718EDD1F__INCLUDED_)
#define AFX_ODBC_H__3393FF31_78E7_45B0_BD40_3A4F718EDD1F__INCLUDED_
#include "ODBCtest.h"
#include "StdAfx.h"
#include"afxdb.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ODBC.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CODBC recordset

class CODBC : public CRecordset
{
public:
CODBC(CDatabase* pDatabase = NULL);
DECLARE_DYNAMIC(CODBC)

// Field/Param Data
//{{AFX_FIELD(CODBC, CRecordset)
CString m_WORKNO;
CString m_NAME;
CString m_DEPT;
CString m_DBNAME;
CString m_DBSIZE;
CString m_EMAIL;
CString m_COU;
CString m_REMARK;
CString m_ATTRIBUTE;
CString m_USR_ID;
CString m_USR_NAME;
CString m_USR_PWD;
CString m_USR_PWD_QUESTION;
CString m_USR_PWD_ANSWER;
CString m_USR_REMARK;
CTime m_USR_DISABLE_DATE;
CString m_USR_EMAIL;
//}}AFX_FIELD


// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CODBC)
public:
virtual CString GetDefaultConnect(); // Default connection string
virtual CString GetDefaultSQL(); // Default SQL for Recordset
virtual void DoFieldExchange(CFieldExchange* pFX); // RFX support
virtual BOOL Open(UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSql = NULL, DWORD dwOptions = none);
virtual BOOL Requery();
//}}AFX_VIRTUAL

// Implementation
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_ODBC_H__3393FF31_78E7_45B0_BD40_3A4F718EDD1F__INCLUDED_)

ODBC.cpp代码如下:
// ODBC.cpp : implementation file
//

#include "stdafx.h"
#include "ODBCtest.h"
#include "ODBC.h"
#include"afxdb.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CODBC

IMPLEMENT_DYNAMIC(CODBC, CRecordset)

CODBC::CODBC(CDatabase* pdb)
: CRecordset(pdb)
{
//{{AFX_FIELD_INIT(CODBC)
m_WORKNO = _T("");
m_NAME = _T("");
m_DEPT = _T("");
m_DBNAME = _T("");
m_DBSIZE = _T("");
m_EMAIL = _T("");
m_COU = _T("");
m_REMARK = _T("");
m_ATTRIBUTE = _T("");
m_USR_ID = _T("");
m_USR_NAME = _T("");
m_USR_PWD = _T("");
m_USR_PWD_QUESTION = _T("");
m_USR_PWD_ANSWER = _T("");
m_USR_REMARK = _T("");
m_USR_EMAIL = _T("");
m_nFields = 17;
//}}AFX_FIELD_INIT
m_nDefaultType =snapshot;
}



CString CODBC::GetDefaultConnect()
{
return _T("ODBC;DSN=Msg_Ctr");
}

CString CODBC::GetDefaultSQL()
{
return _T("[ADM_C].[MAIL_SIZE_TEST],[HR_C].[SYS_USR]");
}

void CODBC::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CODBC)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[WORKNO]"), m_WORKNO);
RFX_Text(pFX, _T("[NAME]"), m_NAME);
RFX_Text(pFX, _T("[DEPT]"), m_DEPT);
RFX_Text(pFX, _T("[DBNAME]"), m_DBNAME);
RFX_Text(pFX, _T("[DBSIZE]"), m_DBSIZE);
RFX_Text(pFX, _T("[EMAIL]"), m_EMAIL);
RFX_Text(pFX, _T("[COU]"), m_COU);
RFX_Text(pFX, _T("[REMARK]"), m_REMARK);
RFX_Text(pFX, _T("[ATTRIBUTE]"), m_ATTRIBUTE);
RFX_Text(pFX, _T("[USR_ID]"), m_USR_ID);
RFX_Text(pFX, _T("[USR_NAME]"), m_USR_NAME);
RFX_Text(pFX, _T("[USR_PWD]"), m_USR_PWD);
RFX_Text(pFX, _T("[USR_PWD_QUESTION]"), m_USR_PWD_QUESTION);
RFX_Text(pFX, _T("[USR_PWD_ANSWER]"), m_USR_PWD_ANSWER);
RFX_Text(pFX, _T("[USR_REMARK]"), m_USR_REMARK);
RFX_Date(pFX, _T("[USR_DISABLE_DATE]"), m_USR_DISABLE_DATE);
RFX_Text(pFX, _T("[USR_EMAIL]"), m_USR_EMAIL);
//}}AFX_FIELD_MAP
}


/////////////////////////////////////////////////////////////////////////////
// CODBC diagnostics

#ifdef _DEBUG
void CODBC::AssertValid() const
{
CRecordset::AssertValid();
}

void CODBC::Dump(CDumpContext& dc) const
{
CRecordset::Dump(dc);
}


#endif //_DEBUG

BOOL CODBC::Open(UINT nOpenType, LPCTSTR lpszSql, DWORD dwOptions)
{

return CRecordset::Open(nOpenType, lpszSql, dwOptions);
}

BOOL CODBC::Requery()
{

return CRecordset::Requery();
}
我的代码:
m_ODBC.Open(AFX_DB_USE_DEFAULT_TYPE,NULL);
m_ODBC.MoveFirst();
AfxMessageBox("a");
if (m_ODBC.m_USR_ID=="80334272")
{
m_ODBC.Edit();
m_ODBC.m_USR_ID="80334273";
m_ODBC.Update();
}
m_ODBC.Close();

在m_ODBC.Edit();时就出错!




...全文

相关推荐

用于 Movidius 神经计算棒 (NCS) 的 YOLO 对象检测器.zip

适用于英特尔/Movidius 神经计算棒 (NCS) 的 YOLO消息相机应用程序正在运行。YOLOv1 Tiny 正在运行。Protobuf 模型文件./prototxt/将预训练的 Caffe 模型下载到 ./weights/YOLO_tinyhttps://drive.google.com/file/d/0Bzy9LxvTYIgKNFEzOEdaZ3U0Nms/view? usp=sharing汇编编译 .prototxt 和对应的 .caffemodel(同名)得到 NCS graph 文件。例如“mvNCCompile prototxt/yolo_tiny_deploy.prototxt -w weights/yolo_tiny_deploy.caffemodel -s 12”此步骤完成后,编译后的二进制文件“graph”必须位于主文件夹中。单张图片脚本运行“yolo_example.py”来处理单个图像。例如“python3 py_examples/yolo_example.py images/dog.jpg”可获得如下检测结果。相机输入脚

徐浪老师

用于运动神经计算棒(NCS)的YOLO目标检测器_YOLO object detector for Movidius N

用于运动神经计算棒(NCS)的YOLO目标检测器_YOLO object detector for Movidius Neural Compute Stick (NCS).zip

matlab大师

yoloNCS:Movidius神经计算棒(NCS)的YOLO对象检测器

YOLO for Intel / Movidius神经计算棒(NCS) 新闻 相机应用正在运行。 YOLOv1 Tiny正在运行。 Protobuf模型文件 ./prototxt/ 将预训练的Caffe模型下载到./weights/ YOLO_tiny: ://drive.google.com/file/d/0Bzy9LxvTYIgKNFEzOEdaZ3U0Nms/view usp sharing 汇编 编译.prototxt和相应的.caffemodel(具有相同的名称)以获取NCS图形文件。 例如:“ mvNCCompile prototxt / yolo_tiny_deploy

易行健

Yolo-implementation-using-Intel-Movidius-Neural-Compute-Stick-NCS-on-Raspberry-Pi:使用Intel Movidius神经棒在Raspberry Pi上使用YOLO

使用英特尔Movidius神经计算棒在树莓派上进行NCS的Yolo实现 英特尔Movidius神经计算棒(NCS)设置 为Movidius棍子安装NCSDK,使其可在Raspberry Pi上使用。 如果在以下位置失败: 如果NCSDK安装失败,则无法从git设置Intel Movidius NCS下载caffe NCS还需要ssd-caffe来运行模型 NOTE : 如果上述任何软件包或其他任何软件包都无法安装,则所有必需的文件都可以从movidius / *获得。 所有文件都经过测试。 消息 可在Rpi和DSI(Rpi相机模块)上使用 YOLOv1 Tiny正在运行。 Protobuf模型文件 ./prototxt/ 将预训练的Caffe模型下载到./weights/ YOLO_tiny: ://pjreddie.com/media/files/yolov2-ti

Sourav Goswami

该项目展示了如何使用 movidius stick 运行 tiny yolo v2 .zip

该项目展示了如何使用 movidius stick 运行 tiny yolo v2。适用于英特尔/Movidius 神经计算棒 (NCS) 的 YOLOv2该项目展示了如何使用 movidius stick 运行微型 yolov2(20 个类)一个从 yolo 到 caffe 的 Python 转换器yolov2 区域层的 c/c++ 实现和 python 包装器在图像或视频中使用 movidius stick 运行 yolov2 的示例更新支持 NCSDK 2.0(感谢 cpagravel!)NCSDK v1.0版本 1.0根据 YOLOV2 中的 letterbox_image 优化输出 bboxes,2018 年 1 月 3 日、2018 年 1 月 12 日(感谢 nathiyaa!)支持多根棒,2017 年 12 月 29 日(感谢 ichigoi7e!)样本中的处理视频,2017 年 12 月 15 日(感谢 ichigoi7e!)修复 nms 中的置信偏移问题,2017 年 12 月 12 日如何使用以下实验是在装有 ubuntu 16.

徐浪老师
评论 5
收藏 已收藏
分享
返回顶部
nojave
VC/MFC 16,550 成员 421,606 内容