OleDbDataReader能返回一行数据的值吗?

海王星的小胖 2017-02-22 08:39:14
从一个access里面用select已经筛选出一条数据了,想把这条数据插到另一个dataset的第一行,除了reader还有其他方法吗?查MSDN好像没发现OleDbDataReader有读取一行的方法。用read遍历之后也不知道该返回什么,只能一列一列的取数据吗?没有直接返回一行的方法吗?
也试了OleDbDataAdapter,把那一行数据填进新dataset,再取出datarow把这行insertat原来的dataset,但是好像这种方法会出现【此行已属于其他表】,所以请各位大大指导啊!
...全文
238 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2017-02-22
  • 打赏
  • 举报
回复
等号是直接引用对象啊。
'常规做法'
Dim drOld As DataRow = 待复制的记录
Dim dtNew As DataTable = 要更新的表
Dim drNew As DataRow = dtNew.NewRow()
把drOld的数据复制到drNew中()
dtNew.Rows.Add(drNew)

'如果字段类型、次序完全一致,可以试试这样的做法'
Dim drOld As DataRow = 待复制的记录
Dim dtNew As DataTable = 要更新的表
dtNew.Rows.Add(drOld.ItemArray)
海王星的小胖 2017-02-22
  • 打赏
  • 举报
回复
引用 1 楼 Tiger_Zhao 的回复:
两个DataSet,但不是把读取用DataSet的datarow对象直接添加到更新用的DataSet(DataTable)中。 而是:更新用的DataSet(DataTable)创建一个空datarow,两个datarow之间复制数据,新的datarow添加到更新用的DataSet(DataTable)中。
取出DataRow的时候是New DataRow = 原DataSet.Row,结果也是同样的错误信息,是不是复制数据不能直接等号?
Tiger_Zhao 2017-02-22
  • 打赏
  • 举报
回复
两个DataSet,但不是把读取用DataSet的datarow对象直接添加到更新用的DataSet(DataTable)中。
而是:更新用的DataSet(DataTable)创建一个空datarow,两个datarow之间复制数据,新的datarow添加到更新用的DataSet(DataTable)中。
海王星的小胖 2017-02-22
  • 打赏
  • 举报
回复
引用 3 楼 Tiger_Zhao 的回复:
等号是直接引用对象啊。
'常规做法'
Dim drOld As DataRow = 待复制的记录
Dim dtNew As DataTable = 要更新的表
Dim drNew As DataRow = dtNew.NewRow()
把drOld的数据复制到drNew中()
dtNew.Rows.Add(drNew)
'如果字段类型、次序完全一致,可以试试这样的做法'
Dim drOld As DataRow = 待复制的记录
Dim dtNew As DataTable = 要更新的表
dtNew.Rows.Add(drOld.ItemArray)
谢谢,理解了!

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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