【问题标题】:SQL commands on Dataset?数据集上的 SQL 命令?
【发布时间】:2016-03-16 14:09:36
【问题描述】:
我一直在开发类似于 Netflix 的电影推荐程序,并且一直在我的本地主机上使用数据库。
问题是我不想使用我的本地主机,并且希望应用程序在没有服务器设置的情况下在其他计算机上运行。
我找不到任何可以托管大小为 1.24 GB 的数据库的免费托管网站。
所以我想知道我是否可以使用 C# 数据集(在将我的数据库导入其中之后)并且仍然使用我的 SQL 命令来处理这个数据集?我检查的示例始终使用行和列而不是 SQL 命令。
抱歉英语不好。
【问题讨论】:
标签:
c#
sql
database
dataset
hosting
【解决方案1】:
如果您正在寻找可以随应用程序分发的便携式数据库,而不是依赖第三方数据库服务器,您可能需要查看SQLite。
基本上,您可以将数据库保存到“.db”文件中,然后使用适当的库(例如 Mono.Data.SQLite)从应用程序中读取它。
此库的网站包含有关如何加载数据库并对其执行 SQL 命令的示例。
【解决方案2】:
在任何情况下都需要 SQL 查询;有或没有数据集。 DataSet 和 DataReader 的区别如下:
DataSet 是一组表和表之间的关系。 DataReader 是一个对象,允许您从数据库中读取数据。要使用 DataSet,您需要使用 DataAdapter/TableAdapter。 DataAdapter/TableAdapter 是一个具有 4 个 SqlCommand(删除、插入、选择、更新)的对象。这些命令用于从数据库中选择值或根据每条记录中的 RowState 更新数据库。在幕后,每个命令都执行自己的 DataReader/DataWriter。
使用 DataReader 将引导您创建自己的实体。另一边的数据集可以从设计器中创建。 Designer 允许您创建表、关系、约束……从服务器资源管理器拖放可能是另一个好处。使用 DataAdpater,您可以根据查询创建类型化的 DataSet。如果您的应用程序需要导入/导出,则在使用自定义实体时您必须自己编写此功能。使用 DataSet 这不是问题,允许您将数据导入/导出到 XML。它也可以绑定到 DataGridView 或任何其他类似的控件。 DataSet 还支持一级历史记录,允许您恢复到每一行的先前版本。
我还建议阅读此文档:
http://msdn.microsoft.com/en-us/library/system.data.dataset.aspx