ADO.NET学习摘记5

来源:互联网 发布:sql中文查询设计器 编辑:程序博客网 时间:2024/06/15 23:22

 通过类型化DataSet(强类型DataSet)改写摘记1中的用户登录程序和使用内部原理,先自己打开数据库连接,以加快批量上传数据的时间:

private void btnLogin_Click(object sender, EventArgs e)
        {
            T_UsersTableAdapter adapter = new T_UsersTableAdapter();
           DataSetUsers .T_UsersDataTable users= adapter.GetDataByUserName(txtUserName.Text );
           if (users.Count <= 0)
           {
               MessageBox.Show("用户名错误!");
               return;
           }
           DataSetUsers.T_UsersRow user = users[0];
           if (user.ErrorTimes >= 3)
           {
               MessageBox.Show("错误次数过多!");
               return;
           }
           if (user.Password == txtPassword.Text )
           {
               MessageBox.Show("登录成功!");
               adapter.ResetErrorTimesbyid(user.id);
           }
           else
           {
               adapter.IncErrorTimesbyid(user.id);
               MessageBox.Show("密码错误!");
           }
        }

        private void btnImportMuch_Click(object sender, EventArgs e)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();

            /*
            //一:在处于多个连接的时候,导入时间为:(21s)
           T_UsersTableAdapter adapter = new T_UsersTableAdapter();
           for (int i = 0; i < 3000; i++)
           {
               adapter.Insert(i.ToString(), i.ToString(), 0);
           }
            */
            //二:在导入数据前,先将连接打开时,导入的时间为:(2s)

            T_UsersTableAdapter adapter = new T_UsersTableAdapter();
            adapter.Connection.Open();
            for (int i = 0; i < 3000; i++)
            {
                adapter.Insert(i.ToString(), i.ToString(), 0);
            }
            adapter.Connection.Close();

 


           sw.Stop();
           MessageBox.Show(sw.Elapsed.ToString ());

        }