ODBC数据库添加记录问题
我用的SQL SERVER2000数据库,建立了一个数据库,有3个表,我都连接到了。
在CXXVIEW::ONINITIAL()中打开数据库:
m_pSet=&GetDocument->Creodset;
m_pSet->open(afx_defaltu_ ,
NULL,
Crecordset::canbookmarks|Crecordset::none);
然后一句是。。。oninitial();
其中第二句是我加的打开数据库的语句。
然后再创建一个函数 onadd()用来给数据库添加记录:
001 :if(!m_pSet->IsOpen()) return;
002 :if(!m_pSet->CanUpdate()) return;
003 :if(!m_pSet->CanBookMar()) return;
m_pSet->AddNew();
写字段到数据库;
m_pSet->update();
m_pSet_>Query();
我的问题是:当我没有在ONINITIAL()函数中加 m_pSet->open()这句时,001行和002行和003行不能通过, 在m_pSet->open()函数中的第三个参数加上Crecordset::canbookmarks参数时,003行可以通过了, 但是不管怎么修改m_pSet->open()参数,002行就是不能通过,所以m_pSet->AddNew()也不能通过,这说明数据库是只读的,但是在m_pSet->open()中已经设置为可以添加新记录的了,为什么还是通不过,程序执行时就提示: 记录集为只读!
在CXXVIEW::ONINITIAL()中打开数据库:
m_pSet=&GetDocument->Creodset;
m_pSet->open(afx_defaltu_ ,
NULL,
Crecordset::canbookmarks|Crecordset::none);
然后一句是。。。oninitial();
其中第二句是我加的打开数据库的语句。
然后再创建一个函数 onadd()用来给数据库添加记录:
001 :if(!m_pSet->IsOpen()) return;
002 :if(!m_pSet->CanUpdate()) return;
003 :if(!m_pSet->CanBookMar()) return;
m_pSet->AddNew();
写字段到数据库;
m_pSet->update();
m_pSet_>Query();
我的问题是:当我没有在ONINITIAL()函数中加 m_pSet->open()这句时,001行和002行和003行不能通过, 在m_pSet->open()函数中的第三个参数加上Crecordset::canbookmarks参数时,003行可以通过了, 但是不管怎么修改m_pSet->open()参数,002行就是不能通过,所以m_pSet->AddNew()也不能通过,这说明数据库是只读的,但是在m_pSet->open()中已经设置为可以添加新记录的了,为什么还是通不过,程序执行时就提示: 记录集为只读!
...全文
相关推荐
ODBC.docx
ODBC(Open Database Connectivity)是微软提供的一种标准接口,用于应用程序与各种关系数据库管理系统(RDBMS)进行交互。
15、Visual C++ 中使用 ODBC 数据库进行数据检索
本文详细介绍了在Visual C++中使用ODBC接口进行数据库访问和数据检索的方法。内容涵盖了ODBC的基本概念、CRecordset和CDatabase类的使用、数据库连接与记录集操作、导航记录集、添加/删除/更新记录,以及如何通过AppWizard创建数据库应用程序。文章还提供了常见问题解答和实践练习,帮助开发者快速掌握使用ODBC开发数据库应用的核心技能。
VC,ODBC数据库编程
安装完成后,可以在“控制面板”中管理ODBC数据源,添加新的数据源,配置数据库连接参数,如服务器地址、数据库名、用户名和密码。
ODBC操作mysql数据库.docx
ODBC(Open Database Connectivity)是一种数据访问接口标准,它允许应用程序通过统一的API与各种不同类型的数据库系统进行交互。
vc++ MFC实现操作ODBC数据库
本篇文章将深入探讨如何使用VC++ MFC来实现对ODBC(Open Database Connectivity)数据库的操作,包括增、删、改、查等基本功能。首先,我们需要理解ODBC是什么。


数据库
