C#窗體通訊錄系統(tǒng)的示例代碼
本文主要介紹了C#窗體通訊錄系統(tǒng)的示例代碼,分享給大家,具體如下:
1.首先創(chuàng)建DBhelp類用來連接數(shù)據(jù)庫
代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace TongxunLu { public static class DBHelp { static string sqlcon = "Data Source=.;Initial Catalog=TXL;Integrated Security=True"; public static SqlConnection con = new System.Data.SqlClient.SqlConnection(sqlcon); public static SqlCommand cmd = new SqlCommand(); } }
登錄頁面:
雙加登錄里面代碼:
private void btnOK_Click(object sender, EventArgs e) { //驗證用戶名與密碼非空 if (txtUserName.Text == "") { MessageBox.Show("用戶名不能為空,請輸入!"); txtUserName.Focus(); return; } if (txtUserPwd.Text == "") { MessageBox.Show("密碼不能為空,請輸入!"); txtUserPwd.Focus(); return; } //定義鏈接字符串和鏈接對象 string sqlcon = "Data Source=.;Initial Catalog=TXL;Integrated Security=True"; SqlConnection con = new System.Data.SqlClient.SqlConnection(sqlcon); //操作數(shù)據(jù)庫,實現(xiàn)登錄功能 try { con.Open(); string sqlcomm = "select distinct COUNT(*) from Users where UserName='" + txtUserName.Text + "' and Password='" + txtUserPwd.Text + "'"; SqlCommand cmd = new System.Data.SqlClient.SqlCommand(sqlcomm, con); //cmd.Connection = con; //cmd.CommandText = sqlcomm; if ((int)cmd.ExecuteScalar() == 1) { // MessageBox.Show("登錄成功"); Users.UserName = txtUserName.Text; FrmMain fmain = new FrmMain(); fmain.Show(); } else { MessageBox.Show("登錄失敗"); } // MessageBox.Show("數(shù)據(jù)庫打開成功", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } finally { con.Close(); // MessageBox.Show("數(shù)據(jù)庫成功關(guān)閉", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); } }
雙擊取消,里面代碼:
private void btnCacel_Click(object sender, EventArgs e) { Application.Exit(); }
輸入用戶表里面的信息,進行登錄:
2.創(chuàng)建主頁面:
添加菜單欄、工具欄、狀態(tài)欄
菜單欄控件:MenuStrip 以mus開頭命名
項目名稱以tsm開頭 項目里的項目以tsmi開頭命名
工具欄控件:ToolStrip 項顯示圖片和文本更改屬性DisplayStyle,工具欄:以tst開頭
狀態(tài)欄控件:StatusStrip,狀態(tài)欄:以tss命名開頭
當(dāng)頁面加載那個用戶登錄,狀態(tài)用Label控件就顯示誰的名字,代碼:
private void FrmMain_Load(object sender, EventArgs e) { //接受登錄名 toolStripStatusLabel2.Text += Users.UserName; toolStripStatusLabel3.Text += GetNum(Users.UserName).ToString(); LoadGroup(); }
主頁面里面的詳細功能代碼,如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace TongxunLu { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } //顯示添加窗體 public void add() { frmAdd fadd = new frmAdd(); fadd.Show(); } //顯示修改窗體 public void edit() { frmEdit fedit = new frmEdit(); fedit.Show(); } //顯示查詢窗體 public void seacher() { frmSeach fseacher=new frmSeach (); fseacher.Show(); } //統(tǒng)計登錄聯(lián)系人的個數(shù) public int GetNum(string str1) { int num = 0; try { DBHelp.con.Open(); string sqlcomm = string.Format("select count(*) from BUsicInfo where UserName='{0}'",str1); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; num = (int)DBHelp.cmd.ExecuteScalar(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } return num; } //統(tǒng)計登錄聯(lián)系人分組的個數(shù) public int GetGroupsNum() { int num = 0; try { DBHelp.con.Open(); string sqlcomm = string.Format("select count(*) from BUsicInfo where UserName='{0}' and groups='{1}'",Users.UserName,treeView1.SelectedNode.Text ); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; num = (int)DBHelp.cmd.ExecuteScalar(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } return num; } //加載treeview控件 public void LoadGroup() { try { DBHelp.con.Open(); string sqlcomm = string.Format("select groups from busicInfo where userName='{0}'",Users.UserName); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while(dr.Read()) { treeView1.Nodes.Add(dr[0].ToString()); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } //加載ListView控件 public void loadList() { if (treeView1.Nodes.Count == 0) { MessageBox.Show("請重新加載"); listView1.Items.Clear(); return; } if (treeView1.SelectedNode.Index >= 0) { listView1.Clear(); listView1.Columns.Add("姓名", 100); listView1.Columns.Add("工作單位", 100); listView1.Columns.Add("聯(lián)系電話", 100); listView1.Columns.Add("電子郵箱", 100); listView1.Columns.Add("QQ", 100); try { DBHelp.con.Open(); string sqlcomm = string.Format("select * from busicInfo where userName='{0}' and Groups='{1}'",Users.UserName,treeView1.SelectedNode.Text); DBHelp.cmd.CommandText = sqlcomm; DBHelp.cmd.Connection = DBHelp.con; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while(dr.Read()) { ListViewItem lvi = new ListViewItem(); lvi.Tag = dr[0]; lvi.Text = dr[3].ToString(); lvi.SubItems.Add(dr[4].ToString()); lvi.SubItems.Add(dr[5].ToString()); lvi.SubItems.Add(dr[6].ToString()); lvi.SubItems.Add(dr[7].ToString()); listView1.Items.Add(lvi); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } } private void 增加聯(lián)系人ToolStripMenuItem_Click(object sender, EventArgs e) { add(); } private void toolStripButton1_Click(object sender, EventArgs e) { add(); } private void toolStripButton4_Click(object sender, EventArgs e) { seacher(); } private void FrmMain_Load(object sender, EventArgs e) { //接受登錄名 toolStripStatusLabel2.Text += Users.UserName; toolStripStatusLabel3.Text += GetNum(Users.UserName).ToString(); LoadGroup(); } private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { loadList(); toolStripStatusLabel3.Text = GetGroupsNum().ToString(); } } }
3.添加聯(lián)系人頁面
Tablcontrol控件:分頁選項:用來分頁:基本信息和其他信息
雙擊確定,里面代碼:
private void btnAdd_Click(object sender, EventArgs e) { try { DBHelp.con.Open(); DBHelp.cmd.CommandText =string.Format("insert into BusicInfo(userName,Groups,Name,workUnit,Phone,Email,QQ)values('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",Users.UserName,cmbGroup.SelectedValue,txtName.Text,txtWorkUnit.Text,txtPhone.Text,txtEmail.Text,txtQQ.Text); DBHelp.cmd.Connection = DBHelp.con; if ((int)DBHelp.cmd.ExecuteNonQuery() == 1) { MessageBox.Show("添加成功"); } else { MessageBox.Show("失敗"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } }
加載頁面,雙擊壓面,里面代碼
public void LoadGroup() { try { DBHelp.con.Open(); string sqlcomm = string.Format("select groups from busicInfo where userName='{0}'", Users.UserName); DBHelp.cmd.Connection = DBHelp.con; DBHelp.cmd.CommandText = sqlcomm; SqlDataReader dr = DBHelp.cmd.ExecuteReader(); while (dr.Read()) { cmbGroup.Items.Add(dr[0].ToString()); } dr.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } } private void frmAdd_Load(object sender, EventArgs e) { LoadGroup(); }
4.修改頁面
5.查詢頁面
雙擊查詢按鈕,里面代碼:
private void btnSeach_Click(object sender, EventArgs e) { string sqlcomm = ""; if(txtUserName.Text==""&&txtUserPhone.Text=="") { sqlcomm = string.Format("select * from BusicInfo "); } else if (txtUserName.Text == "") { sqlcomm = string.Format("select * from BusicInfo where Phone='%{0}%' ", txtUserPhone.Text); } else if (txtUserPhone.Text == "") { sqlcomm = string.Format("select * from BusicInfo where UserName='{0}%' ", txtUserName.Text); } else { sqlcomm = string.Format("select * from BusicInfo where UserName='{0}%' and Phone='{1}%' ", txtUserName.Text, txtUserPhone.Text); } try { DBHelp.con.Open(); SqlDataAdapter da = new SqlDataAdapter(sqlcomm,DBHelp.con); DataSet ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { DBHelp.con.Close(); } }
功能未完全實現(xiàn),只是例子。
到此這篇關(guān)于C#窗體通訊錄系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)C#窗體通訊錄系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Form_Load里面調(diào)用Focus無效的解決方法
在調(diào)用Form_Load的時候,F(xiàn)orm其實還沒有進入展示階段,自然Focus()調(diào)用也就沒效果了。2013-02-02C#實現(xiàn)按照指定長度在數(shù)字前補0方法小結(jié)
這篇文章主要介紹了C#實現(xiàn)按照指定長度在數(shù)字前補0方法,實例總結(jié)了兩個常用的數(shù)字補0的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04