请教:数据连接关闭后,数据集中的数据是否还在?

zzyzgydotnet 2009-09-14 10:32:18
在.net里面,通过一个数据连接将记录读到数据集里面,数据连接关闭了数据集中依然有数据。
在delphi和c++中,也是通过一个数据连接将记录读到数据集里面,数据连接关闭了数据集里面就没有数据了,是这样的吗?有没有什么办法可以解决?
在线等。
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzyzgydotnet 2009-09-14
  • 打赏
  • 举报
回复
自顶
myhder 2009-09-14
  • 打赏
  • 举报
回复
UP
zzyzgydotnet 2009-09-14
  • 打赏
  • 举报
回复
改了之后还是不行。
zzyzgydotnet 2009-09-14
  • 打赏
  • 举报
回复
3楼提供的帖子是这样的,VB的吧:
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

cn.Provider = "SQLOLEDB"
cn.Open "Driver={SQL Server};Server=Develop;UID=SA;PWD=;DataBase=mrp"
cn.CursorLocation = adUseClient '如果少了这句将会出错

Set rs = cn.Execute("select * from bom")

Set rs.ActiveConnection = Nothing '这句也不能少
cn.Close
Set cn = Nothing

Do While Not rs.EOF
Debug.Print rs(0).Value
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub

我参照了这样改了:
_variant_t vtEmpty (DISP_E_PARAMNOTFOUND, VT_ERROR);
_variant_t vtEmpty2(DISP_E_PARAMNOTFOUND, VT_ERROR);
Connect();//打开连接
m_conn->CursorLocation = adUseClient;//设置游标
m_cmd.CreateInstance( __uuidof(Command ));
m_cmd->ActiveConnection = m_conn;
m_cmd->CommandText = (_bstr_t)strSql;
_RecordsetPtr m_rs = m_cmd->Execute(&vtEmpty,&vtEmpty2,adCmdText);
m_cmd->ActiveConnection->Release();//不知道这样用对不对 CDataSet ds = CDataSet(m_rs);
DisConnect();//关闭连接
return ds;
kouwenlong 2009-09-14
  • 打赏
  • 举报
回复
在builder下我用ADO连接数据库.关闭之后还是有的.
lingyin55 2009-09-14
  • 打赏
  • 举报
回复
找到一个帖子,可以参考下
http://topic.csdn.net/t/20021004/21/1072637.html
mengde007 2009-09-14
  • 打赏
  • 举报
回复
.net毕竟和c++还是有区别的;我们主要还是用微软的那套函数;那么取出数据后,数据集里面还是有数据的;
lingyin55 2009-09-14
  • 打赏
  • 举报
回复
应该是没有了。
你查下有关游标的,数据库那些我忘的差不多了。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧