DataSet 和 DataReader 哪个更好?

2023-11-27

我刚刚看到这个话题:数据表与数据集但这并没有解决我的疑问..让我更好地解释一下,我正在与数据库进行连接,需要在 GridView 中显示结果。 (我之前使用 VB6 时使用了 RecordSet,DataSet 与它非常相似,因此使用 DataSet 更容易。) 然后一个人告诉我 DataSet 不是最好的方法..

那么,我应该“学习” DataReader 还是继续使用 DataSet ?数据表? 有什么优点/缺点?


这本质上是:“水桶和软管哪个更好?”

A DataSet这里是桶;它允许您携带一组断开连接的数据并使用它 - 但您将承担携带桶的成本(因此最好将其保持在您满意的大小)。

数据读取器就像一根软管:当数据从您身边飞过时,它提供对数据的单向/一次性访问;您不必一次携带所有可用的水,但需要将其连接到水龙头/数据库。

就像你可以用软管填充水桶一样,你可以填充水DataSet与数据读取器。

我想说的是,他们做不同的事情......

我个人不使用DataSet很多时候 - 但有些人喜欢它们。不过,我确实使用数据读取器进行 BLOB 访问等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DataSet 和 DataReader 哪个更好? 的相关文章

  • OpenCV RGB转灰度

    我正在做一个视频监控项目 我看不到从 RGB 到灰度的转换 我为灰色设置了黑色窗口 你能帮我解决这个问题吗 附代码 另外 如何获得当前帧和前一帧之间的差异 多谢 宜兰 include stdafx h include
  • 游戏网络射弹实施/概念问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在尝试找到某种解决方案来解决同步射弹射击和游戏网络的常见问题 但我不确定什么是最合适的 这是一款 2D 动作横向卷轴游戏 带有多个射弹 没有即时攻
  • 使用 cout 打印字符数组的全部内容

    我对 C 很陌生 只是 Java 的背景不太好 并且对如何打印 char 数组的全部内容感到困惑 我相信我需要使用循环 并将循环基于数组的长度 但我的编译尝试没有成功 这就是我现在所拥有的 在此先感谢您的帮助 include
  • 如何访问 TabControl 选项卡内的控件?

    这就是我到目前为止所拥有的一切 tabControl1 TabPages 0 我的 TabControl 的 TabPage1 中有一个 PictureBox 如何使用代码而不是属性窗格更改图像位置 尽管控件出现在容器内 作为 TabCon
  • 多线程中的 OpenCV CascadeClassifier C++ 接口

    我想在多个线程中使用 CascadeClassifier 对象运行 OpenCV C 接口 我的程序的工作方式是我的主线程将 some file xml 加载到 CascadeClassifier 对象中 生成三个或更多线程并向它们传递级联
  • 虚拟调用与类型检查的另一个例子

    Problem 我发誓 每次我脑子里都在想 我应该使用虚拟调用而不是类型检查 例如 if obj is Foo else if obj is Bar 我想出了另一个例子 我不知道如何实现前者 我正在通过串行端口实现分组协议 一些伪代码可以最
  • 如何使用 MonoTouch c# 以编程方式获取联系人?

    如何获取 iPhone 中的联系人 我需要从 iPhone 联系人中获取所有属性 如何使用MonoTouch以编程方式实现 ABAddressBook iPhoneAddressBook new ABAddressBook ABPerson
  • Azure 可以运行 WPF 吗?

    我想编写一个在 Windows Azure 上运行的 ASP Net MVC 应用程序 该应用程序将使用 WPF 创建图像 在我开始写之前 这会起作用吗 Azure 是否具有渲染 WPF 所需的 DLL 包括 DirectX 和图形功能 我
  • 如何在asp.net中创建动态复选框

    我正在创建一个需要添加动态复选框列表的应用程序 请任何人告诉我如何使用 C 添加动态复选框列表 在表单上放置一个带有 ID 的占位符placeHolder并将以下代码添加到您的Page Load CheckBoxList cbList ne
  • 添加 Imap 文件夹 Mailkit

    我尝试使用 Mailkit 添加顶级文件夹 因此当我添加以下标签时 我可以将它们分组到该文件夹 下 标签是 邮件包 档案 邮件包 标记 我想创建一个名为 mailkit 的文件夹 以便 gmail 将它们分组 但目前我似乎无法找到执行此操作
  • 使用 Clang 将 C++ 转换为 C 代码

    我知道llvm可用于将c 转换为c代码 我想知道是否clang可以做同样的事情 看成clang源自llvm 那么我可以使用clang将c 代码转换为c代码 如果你想知道我为什么要这样做 这是我的场景 PIC是一家微控制器制造商 不生产C 编
  • Pthread 创建为分离的

    我在创建分离线程时遇到问题 这是我写的代码 void testFunction pthread attr t attr int chk rc pthread attr init attr printf thread attr init d
  • 使用DataContractSerializer进行序列化,但无法反序列化回来

    我有以下两个功能 public static string Serialize object obj DataContractSerializer serializer new DataContractSerializer obj GetT
  • Outlook VSTO 添加上下文菜单项

    我正在尝试将菜单项添加到附件上下文菜单 问题是该项目没有显示 我看过一些例子 他们说这段代码应该可以工作 this Application AttachmentContextMenuDisplay new ApplicationEvents
  • 如何在 Code::Blocks 中启用 C 自动完成?

    如何在 Code Blocks 中启用 C Std lib 函数自动完成 转到 设置 gt 编辑器 gt 代码完成和符号浏览器 并确保未选中 禁用代码完成
  • 如何从 vbScript 调用 .NET 代码 (C#/vb.net)?

    我想我可以编译一个 C DLL 然后将其公开为 COM 对象 以便可以从 VBscript 中 CreateObject 我只是不确定执行此操作所涉及的步骤 做到这一点非常简单 但还有很多地方并不那么简单 这在很大程度上取决于您的类需要做什
  • Boost C++ 序列化 char *

    我有一个类 我正在尝试序列化一个shared ptr 但序列化对象的正常方法不起作用 class Object public Object Object shared ptr
  • 使用 EPplus 在 Excel 中添加下拉菜单

    我需要帮助 如何使用 Epplus 在 Excel 中添加下拉列表 无需验证 我只需要把它添加到我的模板中 下拉列表中的记录不是动态的 using ExcelPackage p new ExcelPackage ExcelWorksheet
  • LWG1203“更有用的右值流插入”是否追溯应用于 C++11 或 C++20?

    灵感来自我最近的问题中的讨论 https stackoverflow com questions 69320918 why does taking istream to a temporary stringstream work but n
  • 反序列化具有相同元素名称但不同属性的 Xml

    我有一些 XML 如下所示

随机推荐

  • 没有可用的 mysql-server 软件包

    我正在尝试在 Amazon Linux 实例上设置 MySQL 我已经尝试了所有方法 也使用 y 选项 sudo yum install mysql server sudo yum install mysql56 server sudo y
  • 从类中删除必需的属性,但 MVC3 仍然不会在文本框中没有值的情况下发布表单

    我有课 在某一时刻 我使用 System ComponentModel 将类的属性设置为 Required 好吧 然后我意识到这是没有必要的 我已经删除了所需的属性 但是当我尝试将表单提交到 ActionResult 时 表单不会发布 并且
  • C# - 通过进程名称的一部分来终止进程

    我正在寻找如何在 C 中执行此操作 如下所示 foreach Process proc in Process GetProcessesByName cheatengine x86 64 proc Kill 我正在使用这个语句 但是该程序有不
  • 销毁并重新创建一个对象是否会使指向该对象的所有指针无效?

    这是后续这个问题 假设我有这样的代码 class Class public virtual method this gt Class new this Class Class object new Class object gt metho
  • 检测 Android JNI 代码中的本机内存泄漏

    如何检测Android JNI代码中的内存泄漏 我正在使用弗罗约 2017年更新 valgrind 可用对于安卓 内置的 malloc 调试功能在以下版本中得到了显着扩展 安卓N 对于查找内存泄漏非常有用 您可能需要 exit 应用程序触发
  • iPhone 的动态图标更改

    我的问题也和其他人之前问过的一样 我发现一旦你设置了应用程序的图标 我们就无法更改应用程序图标动态地 是的 我同意了 如果是这样 我们使用动态图标苹果不接受 但我承认苹果有一些规则和规定 所以这是我的问题 如何动态更改应用程序图标 我不会将
  • AppleScript:获取对象或类的所有属性的列表

    为了存储对象的值以供外部 外部 AS 访问 我需要能够获取该对象的每个属性 然后我尝试将其强制为文本并将其存储在某个地方 如何获取对象拥有的属性列表 作为一个例子 我可以这样写 tell me get properties end tell
  • 定义每个子类定义一次的静态属性的最佳方法是什么?

    我编写了以下控制台应用程序来测试静态属性 using System namespace StaticPropertyTest public abstract class BaseClass public static int MyPrope
  • Android 上的 Eclipse 调试出了什么问题? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 看似无用的调试环境 我显然已经被 Visual Studio 宠坏了 因为虽然我刚刚学习 Android 和 Eclipse 环境 但在 Eclipse 中调试应用程序正在严重损害进一
  • 是什么导致我的函数最后返回 None ? [复制]

    这个问题在这里已经有答案了 我非常简单的 python 函数正在返回None最后 我不太清楚为什么 我看了一些其他的帖子 还是没明白 这是我的代码 def printmult n i 1 while i lt 10 print n i en
  • CSS图灵完备了吗?

    据我所知 CSS 不是图灵完备 但我对 CSS 的了解非常有限 CSS图灵完备了吗 你可以编码Rule 110在 CSS3 中 所以只要您考虑适当的随附 HTML 文件 它就是图灵完备的和用户交互成为CSS 执行 的一部分 A相当好的实施可
  • Java Excel POI 在quartz 多次执行后停止

    我想对此有一些见解 我有一个从数据库读取和写入 Excel 文件的程序 它的执行基于使用 Quartz api 的计时器 并在每周的每个星期二触发 问题是 当我通过安排它每小时执行一次作业来测试它时 程序在写入 Excel 文件的过程中执行
  • WPF 动画窗口可见性更改

    我正在尝试弄清楚如何为 WPF 窗口从 Visibile 到 Hidden 的更改设置动画 我目前让应用程序工作的方式是 窗口通常是隐藏的 当我将鼠标移动到屏幕一侧时 它会弹出 我正在使用布尔值到可见性转换器来执行此操作 但我想要做什么是让
  • R 将时间序列中的重复行与数据表中的不同列类型组合起来

    这个问题是建立在另一个问题的基础上的R 按 ID 将重复行与数据框中不同的列类型组合起来 我有一个带有列的数据表time以及其他一些不同类型的列 因子和数字 这是一个例子 dt lt data table time c 1 1 1 1 1
  • 如何在终端上运行Python脚本?

    我想在终端中运行 Python 脚本 但我不知道如何执行 我已经在目录 User luca Documents python 中保存了一个名为 gameover py 的文件 你需要python安装在您的系统上 然后您可以在终端的正确目录中
  • 设置SplitPane的分隔线位置

    我想将 SplitPane 的分隔线设置为某个默认位置 这不起作用 分隔线保持在中间 public void start Stage primaryStage throws Exception SplitPane splitPane new
  • 是否可以在线构建 Cordova App?

    我正在使用 PhoneGap 框架制作一个应用程序 PhoneGap提供构建服务 http build phonegap com 这使我们能够构建和将应用程序打包到云中 您不需要安装任何本地SDK构建应用程序 有什么办法可以建造科尔多瓦应用
  • Gradle Android 测试不支持过滤器(--tests)

    Gradle Android 测试不支持过滤器 tests gradlew test tests com example test works gradlew connectedAndroidTest tests com example t
  • 在一个 UITableView 问题中调用两个不同的自定义单元格

    我创建了一个自定义单元格 FeatureCell 该单元格中有 5 个图像 将在主视图中调用 但当我调用它时 我得到空行 那么请问我的问题可能出在哪里 我在谷歌上搜索了自定义单元格 并使用了我必须在下面的代码中使用的方式 但没有任何反应 这
  • DataSet 和 DataReader 哪个更好?

    我刚刚看到这个话题 数据表与数据集但这并没有解决我的疑问 让我更好地解释一下 我正在与数据库进行连接 需要在 GridView 中显示结果 我之前使用 VB6 时使用了 RecordSet DataSet 与它非常相似 因此使用 DataS