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();
}
輸入用戶表里面的信息,進(jìn)行登錄:

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();
}主頁面里面的詳細(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)計登錄聯(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其實還沒有進(jìn)入展示階段,自然Focus()調(diào)用也就沒效果了。2013-02-02
C#實現(xiàn)按照指定長度在數(shù)字前補0方法小結(jié)
這篇文章主要介紹了C#實現(xiàn)按照指定長度在數(shù)字前補0方法,實例總結(jié)了兩個常用的數(shù)字補0的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04

