强类型DataSet

关于强类型DataSet,自己也不清楚是什么,视频上直接说可以方便实用那就先背着,慢慢理解.

关于强类型DataSet其实现原理为:

假设我有一个表My_Users(UID,UNAME.UPASSWORD.UMESSAGE)

则一个强类型DataSet类内容类似为:

//下面类不完整无法编译通过只是个便于原理的理解,个个成员属性的赋值都应该是从数据库中得到的而不是value;

    class My_UsersDataRow : DataRow
    {
        public int UID
        {
            get
            {
                return Convert.ToInt32(this["UID"];
            }
            set
            {
                this["UID"] = value;
            }

        }
        public int UNAME
        {
            get
            {
                return Convert.ToString(this["UNAME"]);
            }
            set
            {
                this["UNAME"] = value;
            }

        }
        public int UPASSWORD
        {
            get
            {
                return Convert.ToString(this["UPASSWORD"]);
            }
            set
            {
                this["UPASSWORD"] = value;
            }
        }
        public int UMESSAGE
        {
            get
            {
                return Convert.ToString(this["UMESSAGE"]);
            }
            set
            {
                this["UMESSAGE"] = value;
            }
        }
    }
这样创建一个实例对象My_UsersDataRow datarow =new My_UsersDataRow();

那么就可以直接访问数据库表中对应的字段数据如:datarow.UID;datarow.UNAME;datarow.UPASSWORD;

VS中为我们提供了强类型的DataSet方法使用方法为:

项目右键添加-->新建相-->Data-->数据集(取名为FirstDataSet.xsd)将数据库服务器中的表My_Users直接拖进FirstDataSet.xsd,就得到强类型DataSet:My_UsersTableAdapter.然后vs自动创建一个类似上述类,这样就可以直接使用了如:

           //创建一个保存和察看数据库返回信息的对象。(DataSet将数据读出存到程序内存中)
            My_UsersTableAdapter u_table = new My_UsersTableAdapter();
            //得到数据表
            Login.UI.FirstDataSet.My_UsersDataTable usersdata = u_table.GetData();
            for (int i = 0; i < usersdata.Count; i++)
            {
                //逐行获取数据表中的内容
                My_UsersDataRow usersrow =usersdata[i];
                MessageBox.Show(usersrow.UNAME);
            }

强类型DataSet就是代码自动生成的某种机制,使用的时候不要忘了给表设置主见,修改了结构和数据后要邮件xsd图形进行重新配置,主要是配置查询分析器 .

 

你可能感兴趣的:(.NET)