VB.NET语言 制作带搜索功能的联系人管理系统

VB.NET阿木 发布于 13 天前 4 次阅读


VB.NET 联系人管理系统:设计与实现

联系人管理系统是日常工作中常用的软件之一,它可以帮助用户有效地管理个人或企业的联系人信息。本文将围绕VB.NET语言,介绍如何设计和实现一个具有搜索功能的联系人管理系统。

系统需求分析

在开始设计之前,我们需要明确系统的需求。以下是联系人管理系统的一些基本需求:

1. 功能需求:
- 添加联系人:允许用户添加新的联系人信息。
- 显示联系人:列出所有联系人信息。
- 编辑联系人:允许用户修改已存在的联系人信息。
- 删除联系人:允许用户删除不需要的联系人信息。
- 搜索联系人:允许用户通过关键字搜索联系人信息。

2. 性能需求:
- 系统响应时间应小于2秒。
- 数据存储应高效,便于快速检索。

3. 界面需求:
- 界面应简洁、易用。
- 应提供清晰的导航和操作提示。

系统设计

数据库设计

为了存储联系人信息,我们可以使用SQL Server数据库。以下是数据库的设计:

- 表名:Contacts
- 字段:
- ContactID (主键,自动递增)
- Name (联系人姓名)
- Phone (联系电话)
- Email (电子邮箱)
- Address (联系地址)

界面设计

使用VB.NET的Windows Forms来设计用户界面。以下是界面设计的基本布局:

- 主窗口:包含菜单栏、工具栏和主显示区域。
- 菜单栏:包含“添加”、“编辑”、“删除”和“搜索”菜单项。
- 工具栏:提供快速访问添加、编辑、删除和搜索的功能按钮。
- 主显示区域:显示所有联系人信息,并允许用户进行操作。

功能实现

以下是各个功能的实现代码:

添加联系人

vb.net
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim contactName As String = txtName.Text
Dim contactPhone As String = txtPhone.Text
Dim contactEmail As String = txtEmail.Text
Dim contactAddress As String = txtAddress.Text

' 将数据插入到数据库中
Using conn As New SqlConnection("your_connection_string")
Using cmd As New SqlCommand("INSERT INTO Contacts (Name, Phone, Email, Address) VALUES (@Name, @Phone, @Email, @Address)", conn)
cmd.Parameters.AddWithValue("@Name", contactName)
cmd.Parameters.AddWithValue("@Phone", contactPhone)
cmd.Parameters.AddWithValue("@Email", contactEmail)
cmd.Parameters.AddWithValue("@Address", contactAddress)
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using

' 清空文本框
txtName.Clear()
txtPhone.Clear()
txtEmail.Clear()
txtAddress.Clear()

' 刷新联系人列表
LoadContacts()
End Sub

显示联系人

vb.net
Private Sub LoadContacts()
Using conn As New SqlConnection("your_connection_string")
Using cmd As New SqlCommand("SELECT FROM Contacts", conn)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
lstContacts.Items.Clear()
While reader.Read()
lstContacts.Items.Add(reader("Name").ToString())
End While
reader.Close()
End Using
End Using
End Sub

编辑联系人

vb.net
Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click
Dim selectedContact As String = lstContacts.SelectedItem.ToString()
Using conn As New SqlConnection("your_connection_string")
Using cmd As New SqlCommand("SELECT FROM Contacts WHERE Name = @Name", conn)
cmd.Parameters.AddWithValue("@Name", selectedContact)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
If reader.Read() Then
txtName.Text = reader("Name").ToString()
txtPhone.Text = reader("Phone").ToString()
txtEmail.Text = reader("Email").ToString()
txtAddress.Text = reader("Address").ToString()
End If
reader.Close()
End Using
End Using
End Sub

删除联系人

vb.net
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
Dim selectedContact As String = lstContacts.SelectedItem.ToString()
Using conn As New SqlConnection("your_connection_string")
Using cmd As New SqlCommand("DELETE FROM Contacts WHERE Name = @Name", conn)
cmd.Parameters.AddWithValue("@Name", selectedContact)
conn.Open()
cmd.ExecuteNonQuery()
End Using
End Using

' 刷新联系人列表
LoadContacts()
End Sub

搜索联系人

vb.net
Private Sub txtSearch_TextChanged(sender As Object, e As EventArgs) Handles txtSearch.TextChanged
Using conn As New SqlConnection("your_connection_string")
Using cmd As New SqlCommand("SELECT FROM Contacts WHERE Name LIKE '%' + @Search + '%'", conn)
cmd.Parameters.AddWithValue("@Search", txtSearch.Text)
conn.Open()
Dim reader As SqlDataReader = cmd.ExecuteReader()
lstContacts.Items.Clear()
While reader.Read()
lstContacts.Items.Add(reader("Name").ToString())
End While
reader.Close()
End Using
End Using
End Sub

总结

本文介绍了如何使用VB.NET语言设计和实现一个具有搜索功能的联系人管理系统。通过以上代码,我们可以创建一个简单的联系人管理系统,满足日常工作中对联系人信息管理的需求。在实际应用中,可以根据具体需求对系统进行扩展和优化。