c# - SqlCommand 还是 SqlDataAdapter?

标签 c# sql ado.net

我正在创建一个类似于小型收银应用程序的应用程序,用于记录客户、员工、服务、销售和约会。我正在使用 Windows 窗体,并且在该 DataGrids 中。我已经创建了将用于该应用程序的数据库。我想知道我是否应该改用 SqlCommand-SqlDataReader 或 SqlDataAdapter-DataSet。哪种方法更好?

最佳答案

这在很大程度上取决于您想要的操作类型。

以下是我的建议。

  1. 如果您想更快地读取数据,请使用 SQLDataReader,但这是您需要采取的操作成本 在那之后也读过。 打开连接 读取数据 关闭连接。如果您忘记关闭,则会影响性能。

  2. 使用 SQLDataAdapter

    • 如果您想更快地阅读并使用 Disconnected Arch 的好处。 ADO.net 的
    • 这将自动关闭/打开连接。
    • 此外,它还允许您自动处理 DataSet 中返回到 DataBase 的更新。 (SqlCommandBuilder)
  3. 使用 SQLCommand(这也会在您读取 SQLDataReader 以读取数据时使用)以及用于插入和更新。

    • 这将为您提供更好的插入和更新性能。

如果您使用的是 .NET Frame 3.5 sp1 或更高版本,我会建议 Linq to SQL 或 Entity Framework 解决您的目的。

谢谢。

关于c# - SqlCommand 还是 SqlDataAdapter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8640982/

相关文章:

sql - SQL 中结果行集的总和

c# - SQLiteDataAdapter 更新方法返回 0

c# - 将只有几列的数据复制到另一个数据表中

c# - Entity Framework 关系未从数据库加载

c# - 异步/等待套接字连接中的竞争条件

c# - 为 Nullable<Guid> 赋值

mysql - 如何从表格和最多两个其他项目中进行选择

java - 如何获取我刚刚插入 Java 的行的 ID

c# - 通过 Silverlight 4.0 的 VOIP 功能(最多 5 个用户的实时语音流)?

c# - 在 C# 的控制台中显示序列