C#窗體通訊錄系統(tǒng)的示例代碼
本文主要介紹了C#窗體通訊錄系統(tǒng)的示例代碼,分享給大家,具體如下:

1.首先創(chuàng)建DBhelp類用來(lái)連接數(shù)據(jù)庫(kù)
代碼如下:
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();
}
}登錄頁(yè)面:

雙加登錄里面代碼:
private void btnOK_Click(object sender, EventArgs e)
{
//驗(yàn)證用戶名與密碼非空
if (txtUserName.Text == "")
{
MessageBox.Show("用戶名不能為空,請(qǐng)輸入!");
txtUserName.Focus();
return;
}
if (txtUserPwd.Text == "")
{
MessageBox.Show("密碼不能為空,請(qǐng)輸入!");
txtUserPwd.Focus();
return;
}
//定義鏈接字符串和鏈接對(duì)象
string sqlcon = "Data Source=.;Initial Catalog=TXL;Integrated Security=True";
SqlConnection con = new System.Data.SqlClient.SqlConnection(sqlcon);
//操作數(shù)據(jù)庫(kù),實(shí)現(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ù)庫(kù)打開(kāi)成功", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
}
finally
{
con.Close();
// MessageBox.Show("數(shù)據(jù)庫(kù)成功關(guān)閉", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
}
}雙擊取消,里面代碼:
private void btnCacel_Click(object sender, EventArgs e)
{
Application.Exit();
}
輸入用戶表里面的信息,進(jìn)行登錄:

2.創(chuàng)建主頁(yè)面:

添加菜單欄、工具欄、狀態(tài)欄
菜單欄控件:MenuStrip 以mus開(kāi)頭命名
項(xiàng)目名稱以tsm開(kāi)頭 項(xiàng)目里的項(xiàng)目以tsmi開(kāi)頭命名
工具欄控件:ToolStrip 項(xiàng)顯示圖片和文本更改屬性DisplayStyle,工具欄:以tst開(kāi)頭
狀態(tài)欄控件:StatusStrip,狀態(tài)欄:以tss命名開(kāi)頭


當(dāng)頁(yè)面加載那個(gè)用戶登錄,狀態(tài)用Label控件就顯示誰(shuí)的名字,代碼:
private void FrmMain_Load(object sender, EventArgs e)
{
//接受登錄名
toolStripStatusLabel2.Text += Users.UserName;
toolStripStatusLabel3.Text += GetNum(Users.UserName).ToString();
LoadGroup();
}主頁(yè)面里面的詳細(xì)功能代碼,如下:
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)計(jì)登錄聯(lián)系人的個(gè)數(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)計(jì)登錄聯(lián)系人分組的個(gè)數(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("請(qǐng)重新加載");
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)系人頁(yè)面

Tablcontrol控件:分頁(yè)選項(xiàng):用來(lái)分頁(yè):基本信息和其他信息
雙擊確定,里面代碼:
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();
}
}加載頁(yè)面,雙擊壓面,里面代碼
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.修改頁(yè)面

5.查詢頁(yè)面

雙擊查詢按鈕,里面代碼:
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();
}
}功能未完全實(shí)現(xiàn),只是例子。
到此這篇關(guān)于C#窗體通訊錄系統(tǒng)的示例代碼的文章就介紹到這了,更多相關(guān)C#窗體通訊錄系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Form_Load里面調(diào)用Focus無(wú)效的解決方法
在調(diào)用Form_Load的時(shí)候,F(xiàn)orm其實(shí)還沒(méi)有進(jìn)入展示階段,自然Focus()調(diào)用也就沒(méi)效果了。2013-02-02
C#實(shí)現(xiàn)按照指定長(zhǎng)度在數(shù)字前補(bǔ)0方法小結(jié)
這篇文章主要介紹了C#實(shí)現(xiàn)按照指定長(zhǎng)度在數(shù)字前補(bǔ)0方法,實(shí)例總結(jié)了兩個(gè)常用的數(shù)字補(bǔ)0的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
C#實(shí)現(xiàn)常見(jiàn)加密算法的示例代碼
這篇文章主要為大家詳細(xì)介紹一下C#中一些常見(jiàn)加密算法(Base64編碼、凱撒密碼、Vigenere密碼、DES、AES)以及它們的實(shí)現(xiàn)代碼,感興趣的可以了解一下2022-07-07
利用C#代碼實(shí)現(xiàn)圖片旋轉(zhuǎn)360度
本文介紹利用C#代碼實(shí)現(xiàn)圖片旋轉(zhuǎn)360度,具體實(shí)例代碼已附上,僅供大家參考,希望對(duì)大家有所幫助2016-11-11

