关于弱类型 DataSet的缺点:
- 无论何时从 DataSet检索值都是以Object类型返回,需要对它进行类型转换;
- 给其它开发者使用 时无法知道哪些列可用;
- 运行时才能知道所 有列名,数据绑定麻烦。
因此,VS为我们提供强类型DataSet的自动生成功能。
下面简单的来使用一下。
首先,建一个控制台工程,然后再项目名那右键添加新项,选择一个基于服务的数据库,取名 test 。
在数据库中新 建一个表,表名为T_Person,表 结构如下:
然后为数据库中新建一个表并添加一些数据。
再在项目中添加一个数据集新项,然后直接从左边服务器资源管理器中将表 T_Person 拖入设 计视图中,我们的强 类型的 DataSet 就建好了!
最后来看看怎么在程序中使用它:
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Test.DataSet1TableAdapters;
namespace Test
{
class Program
{
static void Main(string[] args)
{
T_PersonTableAdapter personTableAdapter = new T_PersonTableAdapter();
//通过GetData()方法返回一个Table
DataSet1.T_PersonDataTable table = personTableAdapter.GetData();
foreach (DataSet1.T_PersonRow row in table)
{
//注意到这里我们就是像属性一样的取得数据了
Console.WriteLine(row.name);
}
Console.ReadKey();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Test.DataSet1TableAdapters;
namespace Test
{
class Program
{
static void Main(string[] args)
{
T_PersonTableAdapter personTableAdapter = new T_PersonTableAdapter();
//通过GetData()方法返回一个Table
DataSet1.T_PersonDataTable table = personTableAdapter.GetData();
foreach (DataSet1.T_PersonRow row in table)
{
//注意到这里我们就是像属性一样的取得数据了
Console.WriteLine(row.name);
}
Console.ReadKey();
}
}
}
运行结果 如下: