c#winfrom通訊錄管理系統

一個簡單的通訊錄管理系統,適合畢業設計。

主要實現以下功能

1.系統登錄

2.增加聯繫人

3.修改和刪除聯繫人

4.查找聯繫人

5.系統用戶管理

首先先搭建數據庫。

我這邊使用的版本是sqlserver2014

創建兩個表一個是用戶表。另外一個是聯繫人表

用戶表包含了用戶名,用戶密碼,聯繫人最大值,組別最大值代碼如下

CREATE TABLE Users
(
 UserName VARCHAR(50),--用戶名
  Password VARCHAR(50),--用戶密碼
  ContactMax INT,
  GroupMax INT 
)

然後創建聯繫人表格包含了基本的信息,其中id的PRIMARY KEY設置爲主鍵,IDENTITY(1,1)設置爲自動增長,代碼如下

CREATE TABLE Contacts
(
Id INT PRIMARY KEY IDENTITY(1,1),
UserName VARCHAR(50),
Groups VARCHAR(50),
Name VARCHAR(50),
WorkUnit VARCHAR(200),
Phone VARCHAR(200),
Email VARCHAR(200),
Photo IMAGE
)

還需要插入一條管理員賬號。這樣子就可以使用這個賬號進行登錄

INSERT INTO dbo.Users
        ( UserName ,
          Password ,
          ContactMax ,
          GroupMax
        )
VALUES  ( 'admin' , -- UserName - varchar(50)
          '' , -- Password - varchar(50)
          10, -- ContactMax - int
          10  -- GroupMax - int
        )

好了數據庫就已經搭建好了那麼就可以開始編寫程序呢

編寫winfrom代碼

1.創建一個登錄界面frmLogin和一個主界面frmMain

2.創建一個數據庫幫助類Sqlhelp用來實現數據庫操作代碼如下

public static class SqlHelp
    {
        static string sqlconn = "server=.;DataBase=addressbook;Integrated Security =true;enlist=false";
        /// <summary>
        /// 根據sql語句獲得數據庫第一行第一列
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql)
        {
            SqlConnection conn = new SqlConnection(sqlconn);
            SqlCommand cmd = new SqlCommand(sql,conn);
            conn.Open();
            object o = cmd.ExecuteScalar();
            conn.Close();
            return o;
        }
        /// <summary>
        /// 根據sql語句返回受影響的行數
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql)
        {
            SqlConnection conn = new SqlConnection(sqlconn);
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            int  o = cmd.ExecuteNonQuery();
            conn.Close();
            return o;
        }
        /// <summary>
        /// 根據sql語句返回受影響的行數
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable GetDataTable(string sql)
        {
            SqlConnection conn = new SqlConnection(sqlconn);
            SqlCommand cmd = new SqlCommand(sql, conn);
            conn.Open();
            DataTable dt = new DataTable();
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            sda.Fill(dt);
            conn.Close();
            return dt;
        }
    }

3.在創建好的登錄窗口上拖放控件實現用戶名和密碼以及登錄按鈕

點擊登錄按鈕的時候執行sql語句查詢賬號和密碼是否正確

/// <summary>
        /// 登錄按鈕
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtUser.Text == "")
            {
                MessageBox.Show("請輸入用戶名");
            }
            else
            { 
               //判斷賬號和密碼是否正確
                string sql = "select count(1) from Users where UserName='" + txtUser.Text + "' and PassWord='" + txtPwd.Text + "'";
                if (Convert.ToInt32(SqlHelp.ExecuteScalar(sql)) > 0)
                {
                    frmMain.User = txtUser.Text;
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("用戶名或者密碼錯誤");
                }
            }
        }

this.DialogResult=DialogResult.OK是將登錄窗體的返回值定義爲OK

返回成功之後那麼就要打開主界面了。

4.修改Program類實現登錄成功打開主窗體

 /// <summary>
        /// 應用程序的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            frmLogin frm = new frmLogin();
            frm.ShowDialog();
            if (frm.DialogResult == DialogResult.OK)
            {
                Application.Run(new frmMain());
            }
        }

5.在主界面上增加菜單欄。以及兩個listview

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章