我们经常都在使用DataSet进行数据操作,使用起来或许非常的方便,但是我们有没有考虑过它的一些不足呢(比如:在进行操作的时候总要编写许多的代码)!以前我也是觉得在操作数据的时候非常方便,别的什么也没有考虑;但最近了解了下关于DataSet的强类型编码方法;我觉得使用起来比之前的编码方式更加的方便;因为使用强类型不需要任何的链接操作语句(自定义函数除外,有的函数系统早已经定义好了),而只需要建立强类型的DataSet就可以;并且,在操作里面的数据时可以直接调用。例如:下面的是我通过用类型化的数据集(亦称强类型数据集)对用户信息表的信息进行读取出来,实现的最后效果是将数据库中的所有用户名读取出来,如下:
private void button1_Click(object sender, EventArgs e)
{
UserInfoTableAdapter adapter = new UserInfoTableAdapter(); ///新建强类型时系统自建的类型;进行实例化操作;
强类型DataSet.DataSetPerson.UserInfoDataTable table = adapter.GetData();///必须要前缀;因为是将一个类定义在另外的一个类里面,所以必须要前缀;当然在winform中系统会有提示,但在Web 中只有自己进行输入。
for (int i = 0; i < table.Count;i++ )
{
强类型DataSet.DataSetPerson.UserInfoRow info=table[i];
string output= string.Format("用户名:{0}", info.UserName);
MessageBox.Show(output);
}
}
弱类型与强类型的最大不同点是对数据的操作性;弱类型必须将数据用ADO.NET的相关语句读取出来,并且存放到里面才可以使用;然而,强类型的操作则完全不一样,通过上面的例子就说明这一点;在将表拖拽到数据集里面时,系统就自动为该表建立了强类型结构(并不是为表里面的内容建立强类型,而是表的结构),系统就为我们建立了相关的函数,在调用时就可以对其进行直接的操作;例如:操作表中的数据等。
除了系统为我们提供的一些函数外,我们自己也可以定义一些函数;比如:增删查改等相关操作的函数(注:使用类型化数据集必须记住数据集、表、行这三者之间的关系,对三者关系的掌握有助于对类型化数据集的学习。)。