using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsApplication25
{
    public partial class login : Form
    {
        DataBase db;//实例化类库DataBase，命名为db
        public login()
        {
            InitializeComponent();
        }
        //点击登录按钮后，BUTTON按钮的鼠标单击事件。
        private void button2_Click(object sender, EventArgs e)
        {
             bool miss = false;// 标志在执行数据库操作的过程中是否出错
             // 如果输入验证成功，就验证身份，并转到相应的窗体
             if (ValidateInput())
             {
                 int num = 0;  // 数据库操作结果    
                 try
                 {   //实例化类DataBase
                     db = new DataBase();
                     db.open();
                     // 查询用的sql语句
                     string sqlstring = string.Format("SELECT COUNT(*) FROM Users WHERE Id={0} AND LoginPwd = '{1}'",
                     int.Parse(comboBox1.Text.Trim()), textBox2.Text.Trim());
                     SqlCommand command = new SqlCommand(sqlstring, db.connection);
                     db.open();  // 打开数据库连接
                     num = Convert.ToInt32(command.ExecuteScalar());      
                     //数据库操作结果
                 }
                 catch (Exception ex)
                 {
                     miss = true;
                     MessageBox.Show(ex.Message);
                 }
                 finally
                 {
                     db.close();  // 关闭数据库连接
                 }
                 if (!miss  && (num == 1))  // 验证通过
                 {
                     this.Hide();// 当前窗体不可见
                     ID.Id = int.Parse(comboBox1.Text.Trim());// 设置登录的用户号码
                     talk frm = new talk(); // 显示窗体
                     frm.ShowDialog();
                 }
                 else
                 {
                     MessageBox.Show("输入的用户名或密码有误！", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
        }
        //打开申请号码页面的鼠标单击标签事件。
        private void label3_Click(object sender, EventArgs e)
        {
            apply frm = new apply();
            frm.ShowDialog();
        }
        //点击取消按钮后，BUTTON按钮的鼠标单击事件。退出应用程序
        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        /// <summary>
        /// 用户输入验证方法
        /// </summary>
        /// <returns>布尔类型。True为找到，False为未找到</returns>
        private bool ValidateInput()
        {
            // 验证用户输入
            if ( comboBox1.Text.Trim() == "")
            {
                MessageBox.Show("请输入登录的号码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                comboBox1.Focus();
                return false;
            }
            else if (textBox2 .Text.Trim() == "")
            {
                MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                textBox2.Focus();
                return false;
            }
            return true;
        }
        //打开忘记密码页面的鼠标单击标签事件。
        private void label4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("该功能尚未开通！", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        //页面加载初始化事件，加载皮肤美化文件
        private void login_Load(object sender, EventArgs e)
        {
            skinEngine1.SkinFile = "MSN.ssk";
        }
    }
}