社区
数据库
帖子详情
[OLE DB] 怎么用IRowChange::Insert插入数据啊?
Codavid
2005-10-15 10:22:16
我定义的对象入下:
CDataSource ds;
CSession ss;
CCommand<CDynamicAccessor> rs;
我用rs.open(...)成功打开了数据库,并设置了DBPROP_UPDATABILITY
可我不知道怎么插入数据, 我调用rs.Insert()返回S_OK,但调用rs.Update时就出错,这是为什么??
...全文
167
4
打赏
收藏
[OLE DB] 怎么用IRowChange::Insert插入数据啊?
我定义的对象入下: CDataSource ds; CSession ss; CCommand rs; 我用rs.open(...)成功打开了数据库,并设置了DBPROP_UPDATABILITY 可我不知道怎么插入数据, 我调用rs.Insert()返回S_OK,但调用rs.Update时就出错,这是为什么??
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Codavid
2005-10-17
打赏
举报
回复
不是吧....没人知道?? 急啊~~~
Codavid
2005-10-16
打赏
举报
回复
........终于有人回了...我是在VS.NET下写的,你帮我看一下吧,谢谢!! :)
CDataSource ds;
CSession ss;
CCommand<CDynamicAccessor> rs;
CoInitialize(NULL);
USES_CONVERSION;
ds.Open();
BSTR buff;
ds.GetInitializationString(&buff, true);
cout<<OLE2T(buff)<<endl;;
SysFreeString(buff);
ss.Open(ds);
CDBPropSet* DBPropSet = new CDBPropSet(DBPROPSET_ROWSET);
DBPropSet->AddProperty(DBPROP_IRowsetUpdate, true);
DBPropSet->AddProperty(DBPROP_UPDATABILITY,
DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_DELETE | DBPROPVAL_UP_INSERT);
DBPropSet->AddProperty(DBPROP_CANSCROLLBACKWARDS, true);
DBPropSet->AddProperty(DBPROP_CANFETCHBACKWARDS, true);
rs.Open(ss, "SELECT 姓名 FROM oletest", (DBPROPSET*)DBPropSet);
for(DBORDINAL col = 1; col <= rs.GetColumnCount(); col++)
{
LPTSTR szBuff = OLE2T(rs.GetColumnName( col ));
cout<<szBuff<<'\t';
}
cout<<endl;
HRESULT hr = rs.MoveNext();
while(SUCCEEDED(hr) && hr != DB_S_ENDOFROWSET)
{
DBSTATUS DBStatus;
DBTYPE DBType;
rs.GetStatus( 1, &DBStatus);
rs.GetColumnType(1, &DBType);
if(FAILED(DBStatus))
cout<<"FAILED";
else if( DBStatus == DBSTATUS_S_ISNULL )
cout<<"<<NULL>>";
else if( DBType == DBTYPE_WSTR || DBType == DBTYPE_STR)
{
LPWSTR buff = (LPWSTR)rs.GetValue(1);
CString pszData = CString(buff);
cout<<pszData;
}
cout<<endl;
hr = rs.MoveNext();
}
LPWSTR pwszName = (LPWSTR)rs.GetValue(1);
wcscpy(pwszName, L"uu");
//rs.SetLength(1,2);
rs.SetStatus(1, DBSTATUS_S_OK);
rs.Insert();
rs.Update();
///////////在这里就出错了,下面的就不用看了/////////////
rs.MoveFirst();
LPWSTR pwszData = (LPWSTR)rs.GetValue(1);
wcscpy(pwszData, L"hhh");
DBCOUNTITEM rt = 0;
rs.SetData();
rs.Update();
cout<<rt<<endl;
rs.Close();
ss.Close();
ds.Close();
CoUninitialize();
帮帮我啊...谢谢
Codavid
2005-10-16
打赏
举报
回复
照上面的代码,调用rs.Update()的错误是DB_E_ROWSNOTRELEASED(列没有释放)
如果在它的前面加了rs.ReleaseRows() rs.Update()的错误是DB_E_ERRORSOCCURED(发生错误)
...晕啊!!!~~~ 有没有人知道这个怎么弄啊?
threenewbee
2005-10-15
打赏
举报
回复
什么错误?
我可以啊。
Vue基础(一)
一、Vue简介 Vue (读音 /vjuː/,类似于 view),不要读错。面试的时候大家一定要独对音调,不要读成V U E.虽然好像并没有什么卵用,不过显得专业!!!专业就是Money Vue是一个渐进式的前端框架,什么是渐进式的呢? VUE全家桶 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。比如Core+Vue-router+Vuex+axios,也可以满足你各种各样的需求。 Vue的特点和Web开发
【零基础入门VUE】VueJS - 概述
不会对 DOM 进行更改,而是创建 DOM 的副本,该副本以 JavaScript
数据
结构的形式存在。最终的更改会更新到真实的 DOM,用户将看到它的变化。随后,对两个 JavaScript 对象进行比较,并在真实 DOM 中更新最终的更改。Ember 添加了 glimmer 渲染引擎,旨在提高重新渲染性能,这与使用虚拟 DOM 的 VueJS 和 React 是类似的概念。随着时间的推移,淘汰赛的发展速度已经放缓。VueJS 继承了 Angular 和 React 的优点,并构建了一个强大的库。
【零基础入门VUE】VueJS - 实例
Firstname : {{firstname}} 值将在插值内替换,即 {{}} 替换为
数据
对象中分配的值,即 Ria。因此,在 {{} } 内部调用了函数 mydetails。Vue 实例中返回的值将打印在 {{}} 中。- 这种类型的
数据
可以是对象或函数。对于组件来说,
数据
是一个函数,它与 Vue.extend 一起使用,如上所示。现在,我们需要将选项传递给 Vue 构造函数,主要是
数据
、模板、要挂载的元素、方法、回调等。现在,我们要做的任何事情都会影响 div 元素,而不会影响它之外的任何内容。
Vue基础——VueJS是什么、Vue的优缺点、vue2和vue3的模板区别、MVVM
数据
双向绑定、Vue的安装和使用、Vue模板语法-文本渲染、常用的vue的指令
Vue基础——VueJS是什么、Vue的优缺点、vue2和vue3的模板区别、MVVM
数据
双向绑定、Vue的安装和使用、Vue模板语法-文本渲染、常用的vue的指令
Vue2 如何创建一个 Vue 实例学习笔记
Vue.js 是一套用于构建用户界面的渐进式框架,其核心库专注于视图层,提供了丰富的功能和强大的生态系统。随着 Web 技术的不断发展,自定义元素(Custom Elements)作为 Web 组件规范的一部分,也逐渐成为前端开发中的热门话题。本文将基于 Vue2 的官方文档,探讨 Vue.js 与自定义元素之间的关系,并通过示例代码加以说明。抽象与复用Vue 组件和自定义元素都支持抽象和复用。Vue 组件允许开发者将界面拆分为多个可复用的部分,每个部分都有自己的模板、逻辑和样式。
数据库
4,017
社区成员
39,805
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章