基于command对象的数据访问

Imports System.Data.OleDbPublic Class Form1Public DatabasePath As String = "F:\www\研一下\通讯录\通讯录.accdb" '定义数据库的具体路径Public ConnectionString As String = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & DatabasePath '定义数据库连接字符串Public DatabaseConnection As OleDbConnection = New OleDbConnection(ConnectionString) '定义数据库连接对象,通过该连接对象执行与数据库的连接通断Public DataCommand As OleDbCommand '数据库SQL语句操作命令对象。通过该对象调用SQL语句的执行方法Public SQLstring As String 'SQL语句载体'刷新通讯录Private Sub FreshButton_Click(sender As Object, e As EventArgs) Handles FreshButton.ClickDim DatabaseSet As DataSet = New DataSet("通讯录") '定义数据库DataSet对象,其相当于驻存在内存中的数据库副本Dim DatabaseAdapter As OleDbDataAdapter '定义数据适配器DataAdapterDatabaseConnection.Open() '与数据库连接SQLstring = "select * from 通讯录 " '定义“选取数据库中所有记录”的SQL命令语句DatabaseAdapter = New OleDbDataAdapter(SQLstring, DatabaseConnection) '数据库适配器对象中SelectCommand属性select命令执行DatabaseAdapter.Fill(DatabaseSet, "通讯录") '数据适配器的Fill方法将SelectCommand的执行结果返回到DataSet中DataGridView1.DataSource = DatabaseSet.Tables("通讯录") 'DataBaseSet中的“通讯录”表在DataGridView中进行展示DatabaseConnection.Close() '与数据库断开End Sub'添加联系人信息Private Sub AddButton_Click(sender As Object, e As EventArgs) Handles AddButton.ClickDatabaseConnection.Open()SQLstring = "insert into 通讯录(姓名,性别,年龄,籍贯,政治面貌,电话,邮箱) values('" & TextBox1.Text & "','" & ComboBox1.Text & "', " & TextBox3.Text & ",'" & TextBox4.Text & "','" & ComboBox2.Text & "'," & TextBox6.Text & ",'" & TextBox7.Text & "')"'定义”向通讯录中所有字段列插入相应记录“的SQL语句DataCommand = New OleDbCommand(SQLstring, DatabaseConnection) '建立DataCommand对象以对数据库进行访问DataCommand.ExecuteNonQuery() '执行SQL语句DatabaseConnection.Close()End Sub'删除指定联系人信息Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDatabaseConnection.Open()SQLstring = "delete * from 通讯录 where  姓名='" & TextBox2.Text & "'"DataCommand = New OleDbCommand(SQLstring, DatabaseConnection)DataCommand.ExecuteNonQuery()DatabaseConnection.Close()End SubPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load'TODO: 这行代码将数据加载到表“通讯录DataSet.通讯录”中。您可以根据需要移动或删除它。Me.通讯录TableAdapter.Fill(Me.通讯录DataSet.通讯录)End SubEnd Class

基于断开式连接的数据访问

Imports System.Data.OleDbPublic Class Form1Public DatabasePath As String = "F:\www\研一下\通讯录\通讯录.accdb" '数据库文件的全路径Public ConString As String = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & DatabasePath '数据库连接字符串Public DatabaseConnection As OleDbConnection = New OleDbConnection(ConString) '定义数据库连接对象Public DatabaseCommand As OleDbCommand = New OleDbCommand '定义对数据库SQL语句操作执行的对象Public SQLstring As String '定义SQL语句载体Public DataAdapter As OleDbDataAdapter '定义数据适配器Dim DataSet As DataSet = New DataSet() '定义DataSet对象,其可以理解为内存中的关系模型数据库,数据库的数据来源于外界物理数据库'保存联系人Private Sub SaveButton_Click(sender As Object, e As EventArgs) Handles SaveButton.ClickDatabaseConnection.Open() '数据库连接开启SQLstring = "select * from 通讯录"DatabaseCommand.Connection = DatabaseConnection '指定数据库SQL语句操作执行的对象与目标数据库之间的连接DatabaseCommand.CommandText = SQLstring '指定数据库SQL语句操作执行的对象的命令文本DataAdapter = New OleDbDataAdapter(DatabaseCommand) '指定数据适配器执行目标SQL命令的条件(connection+SQLstring)DataSet.Clear() '清空Dataset中的内容DataAdapter.Fill(DataSet, "通讯录")Dim DatasetTableRow As DataRowDatasetTableRow = DataSet.Tables("通讯录").NewRow()DatasetTableRow("姓名") = NameTextBox.TextDatasetTableRow("性别") = GenderComboBox.TextDatasetTableRow("年龄") = AgeTextBox.TextDatasetTableRow("籍贯") = HomeTextBox.TextDatasetTableRow("政治面貌") = StateComboBox.TextDatasetTableRow("电话") = PhoneTextBox.TextDatasetTableRow("邮箱") = EmailTextBox.TextDataSet.Tables("通讯录").Rows.Add(DatasetTableRow)Dim DatasetBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter)DataAdapter.Update(DataSet, "通讯录") '数据适配器将执行之后的结果集更新至物理数据库DataGridView1.DataSource = DataSet.Tables("通讯录")MsgBox("添加成功!")DatabaseConnection.Close() '数据库连接关闭End Sub'刷新通讯录Private Sub FreshButton_Click(sender As Object, e As EventArgs) Handles FreshButton.ClickDatabaseConnection.Open()SQLstring = "select * from 通讯录"DataAdapter = New OleDbDataAdapter(SQLstring, DatabaseConnection)DataSet.Clear()DataAdapter.Fill(DataSet, "通讯录")DataGridView1.DataSource = DataSet.Tables("通讯录")MsgBox("刷新成功")DatabaseConnection.Close()End Sub'删除指定联系人信息Private Sub DeleteButton_Click(sender As Object, e As EventArgs) Handles DeleteButton.ClickDatabaseConnection.Open()SQLstring = "select * from 通讯录"DataAdapter = New OleDbDataAdapter(SQLstring, DatabaseConnection)DataSet.Clear()DataAdapter.Fill(DataSet, "通讯录")Dim RowCollection As DataRowCollection = DataSet.Tables("通讯录").RowsDataSet.Tables("通讯录").PrimaryKey = New DataColumn() {DataSet.Tables("通讯录").Columns("姓名")}If RowCollection.Contains(AimDeleteTextBox.Text) ThenDim AimRows As DataRow = RowCollection.Find(AimDeleteTextBox.Text)RowCollection.Remove(AimRows)MsgBox("删除成功")Dim DatasetBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter)DatasetBuilder.GetDeleteCommand()DataAdapter.Update(DataSet, "通讯录")DataGridView1.DataSource = DataSet.Tables("通讯录")ElseMsgBox("删除失败")End IfDatabaseConnection.Close()End SubPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load'TODO: 这行代码将数据加载到表“通讯录DataSet.通讯录”中。您可以根据需要移动或删除它。Me.通讯录TableAdapter.Fill(Me.通讯录DataSet.通讯录)End Sub
End Class

运行结果

VB.net实现通讯录相关推荐

  1. VB.NET通讯录源代码

    利用VB.NET制作通讯录(使用ACCESS数据库) 一.创建应用程序TXL 创建基于VB.Net的Windows应用程序TXL,保存到指定的文件夹下. 二.创建数据库 1.创建ACCESS数据库TX ...

  2. 通讯录软件测试初学者,通过实例学VB—创建简单的个人通讯录

    对于初学者来说任何编程语言都很让人迷惑,尤其是编写代码的时候.笔者通过自己的经历感觉学习任何东西通过例子来实践是最好的方法.今天就通过和大家来一起用 对于个人通讯录而言我们需要对通讯录的数据进行存储, ...

  3. 【VB.NET】实验 编写个人信息管理系统

    实验要求--编写个人信息管理系统 基本需求功能如下: 个人基本信息管理 通讯录管理 电子日记本管理 电子小账簿管理 要求使用文件持久化存储数据. VB.NET编程实现 Imports System.I ...

  4. 一次恢复outlook express通讯录文件*.wab的经历

    同事给领导的htc 安卓手机导通讯录,导到OE的通讯录里,不小心把OE中的记录删除了,而且同时手机上千余条通讯录也一条不剩.情急之下过来找我.我替他想办法. 1.首先看htc手机上有没有通讯录备份.进 ...

  5. 分享Python采集99个VB源码,总有一款适合您

    分享Python采集99个VB源码,总有一款适合您 Python采集的99个VB源码下载链接:https://pan.baidu.com/s/1Ljs41rWn_WxvGqFWCkmGsA?pwd=1 ...

  6. 如何学习VB最新总结

    以前写过如何学好VB,但总结的比较简单,后来给别人讲,又重新总结了一下,内容如下: 1.明确目的:学习VB的是成为软件工程师,而非代码工人. 什么是代码工人,代码工人也叫软件蓝领.指那些至少掌握一门开 ...

  7. vb数据库编程(三)--SQL语言

    命名规则--表名,字段名限制在30个字符内,而且只能用数字,字母和下划线,不要用中文!!且必须以字母开头.除记录内容可能用到的中文外,全部用英文:数据库名,表名,字段名,索引名,查询名等.另外,SQL ...

  8. java通讯录带报告

    web技术(jsp)课程设计任务书 设计题目: 网络通信录管理网站设计 设计主要内容: 一.开发平台:VISO+界面设计语言(JAVA/VB/HTML) 二.功能要求: 1.设计内容 设计一个网络通信 ...

  9. Access mysql oracle vfp C# vb6.0 VB.net java php delphi jsp asp.net人事管理系统成品源码

    Access mysql oracle vfp C# vb6.0 VB.net java php delphi jsp asp.net管理系统成品源码 Access高铁票售票管理系统实现了用户注册.登 ...

最新文章

  1. 企业网站优化两个重点多加重视!
  2. 创建CSS和处理的一些方法
  3. 自然语言处理笔记-哈工大 关毅
  4. 个人作业2——英语学习APP的案例分析
  5. spark学习-Spark的Map()和FlatMap()函数使用
  6. mysql sql优化及注意事项
  7. 监管大屏系统_“警视” 警务情指一体大屏可视化决策系统
  8. Macro版Property Generator辅助工具
  9. 计算机键盘prtscr,键盘上的SCR是什么意思(电脑截图的快捷方式都有哪些)
  10. 用jQuery做点击下箭头改变方向
  11. php输出带尖括号的内容
  12. Arduino学习笔记14
  13. 水槽中倒水,Pour Water
  14. Atitit 读取文件并处理目录1.1. 3. 以二进制读取 fread取代fgets 11.2. 4.将整个文件读入到一个字符串的方法 file_get_contents() 11.3.
  15. mysql 数据备份 crontab
  16. 可视化任务编排拖拉拽的数据集成工具
  17. 查询历史使用过的命令并使用(history)
  18. 我的世界服务器自动刷矿机,我的世界空岛刷矿机制作教程
  19. window与linux双系统文件互通解决方案
  20. joomla速度优化_WordPress v Joomla:搜索引擎优化

热门文章

  1. Python数据分析实战之营销组合模型
  2. 登陆千牛时显示服务器失败,千牛登陆云服务器
  3. 掌握这十个Linux命令,秒变Linux老手
  4. 关于飞思卡尔电磁组舵机反偏(乱打角)问题的总结
  5. AAAI 2022大奖出炉!9000投稿选出唯一杰出论文!中科院自动化所获Distinguished论文奖...
  6. 技术笔记:Spring常见面试题总结
  7. python的浮点数占 个字节_Python的浮点数占( )字节_学小易找答案
  8. 安装ifconfig命令
  9. Nagios 被动检测oracle Rman备份情况
  10. 【数据结构】4中基本逻辑结构和存储结构