我用从recordset类继承的子类CTimeSet类进行access里面数据表的操作,该类生成的时候选择绑定到数据表上,表名为infomation,里面有三个域:userid(文本类型),username(文本类型),curtime(日期时间类型)。生成的CTimeSet类里面对应的成员变量为
CString m_userid;
CString m_username;
CTime m_CurTime;
在程序里面要修改CurTime,用了update,代码如下:
CTimeSet* m_recordset = new CTimeSet(&m_database);
CString strSQL;
strSQL.Format("select * from time1 where userid='%s'",m_mainuserid);
CTime curTime;
curTime = CTime::GetCurrentTime();
m_curtime = curTime.Format("%H:%M:%S" );
try{
m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
m_recordset->Edit();
m_recordset->m_CurTime = curTime;
m_recordset->Update();
...
可是运行的时候到这里总是弹出对话框:更新或删除操作未涉及任何数据行
跟踪进去到系统函数的代码里面发现值根本没有传进去。
但是如果我改成对m_username进行更改就没有问题,
请问各位这个是怎么回事啊?一般对时间类型的数据表项是这么操作的吗?
CString m_userid;
CString m_username;
CTime m_CurTime;
在程序里面要修改CurTime,用了update,代码如下:
CTimeSet* m_recordset = new CTimeSet(&m_database);
CString strSQL;
strSQL.Format("select * from time1 where userid='%s'",m_mainuserid);
CTime curTime;
curTime = CTime::GetCurrentTime();
m_curtime = curTime.Format("%H:%M:%S" );
try{
m_recordset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
m_recordset->Edit();
m_recordset->m_CurTime = curTime;
m_recordset->Update();
...
可是运行的时候到这里总是弹出对话框:更新或删除操作未涉及任何数据行
跟踪进去到系统函数的代码里面发现值根本没有传进去。
但是如果我改成对m_username进行更改就没有问题,
请问各位这个是怎么回事啊?一般对时间类型的数据表项是这么操作的吗?
解决方案 »
- WTL 对话框如何加入工具栏?还有工具栏按钮设置背景等。。
- vc 连接 sql 错误 ODBC_ERROR_INVALID_HWND,用的 是 SQLConfigDataSource
- 如何不显示标题
- 怎样处理在使用CAsyncSocket::Connect()时返回WSAEWOULDBLOCK错误的问题?
- 深入问题:richedit中插入自己的activex的问题 ,activex的显示总是richedit的窗口的最前面,当移动插入的控件的时候,activex的画图还是画在
- 急问一个关于CTime的问题!!!急急急,100分!进来就有
- 重写接口类后不能实例化
- 开放--短信群发软件源代码!!!
- 在线等,高手进!
- 初学VC++,能介绍本书吗?
- 用vc++ 编屏保
- 谁知道哪里有VC6英文版下载???急用
因为我数据库里面的初始值放的不对
虽然大伙没人回,sigh
的第2条希望对你有帮助。
将CTime改为TIMESTAMP_STRUCT
我想是因CTime是类而非实质的数据所致,如同要保存CString,要改用char abc[64];的形式。
用OLE DB吧,反正差不多,也很正常
ADO不太适合VC用的