- 公共语言运行库的托管数据访问 API 抽象数据并用一致的方式表示它,与实际的数据源(SQL Server、OLEDB、XML 等)无关。
- 为了使页能够访问执行 SQL 数据访问所需的类,必须将 System.Data 和 System.Data.SqlClient 命名空间导入到页中。
- 从 SQL 查询填充数据集涉及创建 SqlConnection、将 SqlDataAdapter 对象与包含查询语句的连接关联和从命令填充数据集。
- DataGrid 控件支持采用 IEnumerable(或 ICollection)类型的 DataSource 属性。通过分配 DataSet 的 DefaultView 属性(DataView 类型),可以将此设置为 SQL 查询的结果。
- SqlDataAdapter 维护一个可用于用值替换变量标识符(由名称前的“@”表示)的 Parameters 集合。
- 当执行不要求返回数据的命令(如插入、更新和删除)时,使用 SqlCommand,而不是 SqlDataAdapter。该命令通过调用 ExecuteNonQuery 方法发出,而该方法返回受影响的行数。
- 使用 SqlCommand 时必须显式打开 SqlConnection(SqlDataAdapter 自动地为您处理打开连接)。始终记住在页完成执行前关闭与数据模型的 SqlConnection。如果没有关闭连接,则可能会在等待页实例被垃圾收集回收时不经意超过连接限制。
- 为了允许对行进行编辑,DataGrid 支持整型 EditItemIndex 属性,该属性指示网格的哪一行应该是可编辑的。设置了该属性后,DataGrid 按该索引将行呈现为文本输入框,而不是简单的标签。
- DataGrid 公开一个可设置为主键字段名的 DataKeyField 属性。在连到 UpdateCommand 的事件处理程序中,可以从 DataGrid 的 DataKeys 集合检索键名。
- 使用 DataGrid 中的 BoundColumn 控件使您可以完全控制列的顺序,以及它们的 ReadOnly 属性。
- 使用 DataGrid 中的 TemplateColumn 控件使您可以完全控制列的内容。
- ButtonColumn 控件可用于在该列的每一行中仅呈现按钮控件,而该列可与事件关联。
- HyperLinkColumn 可以添加到 DataGrid 的 Columns 集合,该集合支持在单击链接时定位到另一页。
- 当 DataGrid 的 AllowSorting 属性设置为 true 时,它呈现将 Sort 命令激发回网格的列标头的超级链接。将 DataGrid 的 OnSortCommand 属性设置为当用户单击列链接时要调用的处理程序。
- DataSet 支持将 FileStream 作为参数的 ReadXml、ReadXmlData 和 ReadXmlSchema 方法,而该参数可用于从 XML 文件填充 DataSet。
- 使用存储过程可以减少在应用程序中执行繁重的数据库操作的开销。