| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:[求助]为什么数据库中的内容没发生变化
只看楼主 加入收藏
victor
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-3-29
收藏
 问题点数:0 回复次数:0 
[求助]为什么数据库中的内容没发生变化

日前做一个用ADO技术连接数据库的小测试,程序我一步步调试了没错,数据库也连上了,也可以用记录集对象对数据库进行操作(比如说用MoveFirst),可当我想通过绑定对象来对数据库进行存取的时候就发现了一个问题:编译没错,生成exe文件后运行,我到数据库中看了看,却没有数据被改动,而我的程序是对第一条记录的数据更改,查了半天也没发现有什么问题,我想到我的程序用的是基于SQL Server 2000而因为本机上装不了所以只能换成用ODBC数据源连接Access 2000数据库,可我又想不通的是,即使不能用Access 2000的话,我怎么可能编译通过而且运行也一点错都没有呢?
下面是我的程序的主要部分:
先建一个新类CCPRs,在头文件中作如下改动:
class CCPRs : public CADORecordBinding
{
BEGIN_ADO_BINDING(CCPRs)
ADO_FIXED_LENGTH_ENTRY(1,adVarChar,m_Cstudentno,CstudentnoStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(2,adVarChar,m_Cstudentname,CstudentnameStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(3,adVarChar,m_Csex,CsexStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(4,adVarChar,m_Center_year,Center_yearStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(5,adVarChar,m_Cteacherno,CteachernoStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(6,adVarChar,m_Cborn_year,Cborn_yearStatus,TRUE)
ADO_FIXED_LENGTH_ENTRY(7,adVarChar,m_Cborn_place,Cborn_placeStatus,TRUE)
END_ADO_BINDING()
public:
CHAR* m_Cstudentno;
ULONG CstudentnoStatus;
CHAR* m_Cstudentname;
ULONG CstudentnameStatus;
CHAR* m_Csex;
ULONG CsexStatus;
CHAR* m_Center_year;
ULONG Center_yearStatus;
CHAR* m_Cteacherno;
ULONG CteachernoStatus;
CHAR* m_Cborn_year;
ULONG Cborn_yearStatus;
CHAR* m_Cborn_place;
ULONG Cborn_placeStatus;
};


然后在一对话框的初始化函数中加入以下的代码:
_RecordsetPtr pRst=NULL;
IADORecordBinding *picRs=NULL;
CCPRs rs;
CString m_strDSN=_T("MISDB");
if(pTheConn->GetState()==adStateClosed)
pTheConn->Open(m_strDSN.AllocSysString(),"","",-1);
try
{
_bstr_t strSQL="SELECT * FROM MasterInfo";
pRst.CreateInstance(__uuidof(Recordset));
pRst=pTheConn->Execute(strSQL,NULL,adCmdText);
pRst->QueryInterface(__uuidof(IADORecordBinding),(LPVOID*)&picRs);
picRs->BindToRecordset(&rs);
pRst->MoveFirst();
//pRst->MoveLast();
rs.m_Cstudentno="2002";
rs.m_Cstudentname="victor";
rs.m_Cborn_place="dangyang";
rs.m_Cborn_year="1982-04-13";
rs.m_Center_year="2002-09-01";
rs.m_Csex="man";
rs.m_Cteacherno="110";
picRs->Update(&rs);
picRs->Release();
pRst->Close();
}

其中如没有声明的变量我都一一生成了,决不可能是那方面的问题,否则就不可能通过编译了
真不明白是什么原因,为什么数据库没有发生变化呢,望哪位高手指定一二,不胜感激

搜索更多相关主题的帖子: 数据库 
2006-03-31 15:43
快速回复:[求助]为什么数据库中的内容没发生变化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022340 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved