科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ADO.NET中的多数据表操作之读取

ADO.NET中的多数据表操作之读取

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在开发基于.NET平台的数据库应用程序时,我们一般都会用到DataSet,作为ADO.NET的核心类它为我们提供了强大的功能

作者:郑佐 来源:csdn 2007年11月13日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
二.填充数据集

  建立一个窗体程序来演示实际的操作,界面如下:


图2-1

  整个应用程序就是一个Form,上面的三个DataGrid分别用来显示相关表的数据,不过他们是互动的。另外的两个单选框用来决定更新数据的方式,两个按钮正如他们的名称来完成相应的功能。

  这里我们用一个DataAdapter来完成数据集的填充,执行的存储过程如下:

CREATE PROCEDURE GetCustomerOrdersInfo

AS

SELECT CustomerID,CompanyName,ContactName FROM Customers WHERE CustomerID LIKE 'A%'

SELECT OrderID,OrderDate,CustomerID FROM Orders WHERE CustomerID IN
(SELECT CustomerID FROM Customers WHERE CustomerID LIKE 'A%')

SELECT OrderID,ProductID,UnitPrice,Quantity,Discount FROM [Order Details] WHERE OrderID IN
(SELECT OrderID FROM Orders WHERE CustomerID IN
(SELECT CustomerID FROM Customers WHERE CustomerID LIKE 'A%'))

GO

  为了减少数据量,这里只取了CustomerID以’A’开头的数据。建立DataAccess类来管理窗体同数据层的交互:

using System;
using System.Data;
using System.Data.SqlClient;
using Microsoft.ApplicationBlocks.Data;
namespace WinformTest
{
 public class DataAccess
 {
  private string _connstring = "data source=(local);initial catalog=Northwind;uid=csharp;pwd=c#.net2004;";
  private SqlConnection _conn;
  ///构造函数
  public DataAccess()
  {
   _conn = new SqlConnection(_connstring);
  }

  下面的函数完成单个数据适配器来完成数据集的填充,

public void FillCustomerOrdersInfo(DatasetOrders ds)
{
 SqlCommand comm = new SqlCommand("GetCustomerOrdersInfo",_conn);
 comm.CommandType = CommandType.StoredProcedure;
 SqlDataAdapter dataAdapter = new SqlDataAdapter(comm);
 dataAdapter.TableMappings.Add("Table","Customers");
 dataAdapter.TableMappings.Add("Table1","Orders");
 dataAdapter.TableMappings.Add("Table2","Order Details");
 dataAdapter.Fill(ds);
}


  如果使用SqlHelper来填充那就更简单了:

public void FillCustomerOrdersInfoWithSqlHelper(DatasetOrders ds)
{
SqlHelper.FillDataset(_connstring,CommandType.StoredProcedure,"GetCustomerOrdersInfo",ds,new string[]{"Customers","Orders","Order Details"});
}
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章