任务三访问Access数据库.ppt

上传人:xt****7 文档编号:5174150 上传时间:2020-01-22 格式:PPT 页数:48 大小:1.38MB
返回 下载 相关 举报
任务三访问Access数据库.ppt_第1页
第1页 / 共48页
任务三访问Access数据库.ppt_第2页
第2页 / 共48页
任务三访问Access数据库.ppt_第3页
第3页 / 共48页
点击查看更多>>
资源描述
VB NET程序设计 任务三访问Access数据库 学习目标 1 了解数据库 表 字段 记录等基本概念2 了解使用Access系统创建Access数据库3 掌握访问Access数据库的方法 数据库术语 数据库 Database 存储于文件中的有组织的信息集合数据表 Table 由行和列组成的信息集合字段 Field 存储于数据库中的信息的类别记录 Record 有关一个特定客户或企业的所有信息叫一条记录 ADO NET 1 VB NET并非是用来创建新数据库的 而是用于显示 分析和操作数据库中的信息 2 ADO NET是VB NET提供的一种新的访问数据库的数据模型 或叫数据访问工具 通过这种数据模型可以访问更多格式的数据库 如Access FoxPro Paradox Oracle SQLServer等 也不管这些数据库放在什么位置都能访问 本地或是网上 3 组成ADO NET的是一些类 这些类位于System Data命名空间中 他们提供了连接数据库 读取数据库和更新数据库等操作 预备知识 结构化查询语言SQL SQL是一种标准化的数据库查询语言 虽说是一种查询语言 但它可完成对数据库的各种操作 包括数据的查询 增加 修改 删除以及其他操作 SQL主要语句 Select语句 Insert语句 Update语句 Delete语句 预备知识 结构化查询语言SQL Select语句的语法格式 Select字段名From数据表名 Where条件 举例 Select From学生信息Select From学生信息Where姓名 李丽 Select姓名From学生信息Where姓名 李丽 select fromstudent1where学号 3select fromstudent1where学号Between5And10 预备知识 结构化查询语言SQL Select语句举例 select fromstudent1where姓名like 刘 select from书名where书籍类别In 数据库 Internet select from书名where书籍类别In 数据库 AndPubID 1select fromstudent1where姓名like 刘 orderby学号ASC注 使用ORDERBY子句排序 升序的关键字为ASC 降序为DESC 预备知识 结构化查询语言SQL update insert delete语句举例 insertintoStuInfo name age values 张山 19 updateStuInfosetname 张三 age 18whereid 005delete fromStuInfowhereid 18 使用Access创建数据库 操作步骤 1 启动Access办公软件2 文件 新建3 双击 使用设计器创建表 4 设置主键 右击某个字段名 选 主键 5 添加数据 双击表名 直接添加数据 保存 访问Access数据库 显示 访问Access数据库 显示 方法一 在VisualStudio NET中建立连接1 从工具箱中的 数据 标签中双击OleDbDataAdapter对象如果工具箱中的 数据 标签中没有OleDbDataAdapter对象 则可以右击 数据 工具箱中某控件例如DataSet控件 从弹出的快捷菜单中执行 选择项 命令 如图 打开 选择工具箱项 对话框 选择 NETFramework组件 选项卡 从中选择OleDbCommand OleDbConnection OleDbDataAdapter这三个组件 在这三项组件的名称前的方框内打勾即可 单击 确定 按钮 这三个组件就被添加到工具箱中了 方法一 在VisualStudio NET中建立连接 接下来 出现 数据适配器配置向导 对话框 点击 新建连接 按钮 出现 添加连接 对话框 可以执行 更改 选择数据源的类型 这里选择 其他 然后点 确定 接着 在OLEDB提供程序下选择 MicrosoftJet4 0OLEDBProvider 方法一 在VisualStudio NET中建立连接 点 数据链接 按钮 出现 数据链接属性 对话框 在 连接 选项卡中选择或输入数据库名称右边的小按钮中选取数据库文件 选好后 点 测试连接 提示 测试连接成功 方法一 在VisualStudio NET中建立连接 点 确定 回到 添加连接 对话框点 确定 回到 数据适配器配置向导 对话框 可以查看连接字符串 点 下一步 出现如图3对话框 这里请选择 是 那么访问数据库时 将是相对路径 即 exe可执行文件和数据库文件将在同一个目录下 接着再点 下一步 方法一 在VisualStudio NET中建立连接 出现如图后 点 查询生成器 按钮 选择要用的表 然后点 添加 把要用的字段依次打勾 然后点 确定 方法一 在VisualStudio NET中建立连接 回到如图对话框 点 下一步 点 完成 最终 窗体下方生成 OleDbDataAdapter1 和 OleDbConnection1 两个对象 如图 3 方法一 在VisualStudio NET中建立连接 右键 OleDbDataAdapter1 选择 生成数据集 点 确定 后 生成数据集对象 DataSet11 3 方法一 在VisualStudio NET中建立连接 2 将数据源绑定到一个或多个显示控件上问题 什么样的控件可以做为数据源的显示控件 一般来说 凡是具有DataBindings属性的控件都可做显示控件 典型的例子 TextBox Label ComboBox等控件 方法一 在VisualStudio NET中建立连接 将数据源绑定控件的操作如下 在属性窗口中设置文本框的DataBindings属性打开DataBindings分类 单击Text属性 单击下拉箭头选择某个数据集对象中某个表的某个字段 方法一 在VisualStudio NET中建立连接 3 编写一部分代码关键代码 利用数据适配器给数据集手动加载数据OleDbDataAdapter1 Fill Dataset11 上述代码可以放在某个命令按钮的单击事件过程中 也可放在窗体的Load事件过程中 方法一 在VisualStudio NET中建立连接 课堂实训 访问Access数据库 显示 方法二 使用较多的代码ADO NET对象结构 方法二 使用较多的代码 ADO NET对象功能 访问数据库时要用到的对象及步骤 1 Connection对象负责连接数据库2 Command对象负责对数据库下达SQL命令3 在ADO NET中 介于Dataset和Connection对象之间还有一个对象DataAdapter 负责传递数据 4 Dataset对象用来保存所查询到的数据记录 是一种非连接的数据缓存 方法二 使用较多的代码 创建Connection对象时 可以使用2个类 1 SqlConnection类 管理SQLServer7 0或以上数据源的连接 该类位于System Data Sqlclient命名空间 2 OledbConnection类 管理可通过OLEDB访问的数据源的连接 例如Access数据库 该类位于System Data OLEDB命名空间 同样 创建Command对象和DataAdapter对象时都有2个类可以选择 要看访问的数据源的类型 方法二 使用较多的代码 连接好数据库后 用代码绑定数据集到显示控件 如下所示 Me TxtName DataBindings Add text myDataSet 职员基本信息表 姓名 Me TxtID DataBindings Add text myDataSet 职员基本信息表 职员编号 其他要注意的地方 在类定义的开头要指出数据访问对象所在的命名空间 ImportsSystem Data OleDb 方法二 使用较多的代码 例子 例1 用较多代码访问数据库 请注意访问数据库的步骤 访问数据库时使用的是相对路径 数据库文件和可执行文件在同一个文件夹里 数据库为Student mdb 有一个Records表 该表字段为 编号 姓名 性别 出生日期 家庭住址 手机 Email Oicq 方法二 使用较多的代码 例子 例2 请注意定义连接等对象的代码和例1有所不同 说明 本例子并没有用到命令对象 请注意连接对象数据适配器对象的定义和赋值 1 声明连接字符串 访问该数据库时用的是绝对路径 DimsConnStringAsString Provider Microsoft Jet OLEDB 4 0 DataSource F VS2005Project WindowsApplication7 bin Debug Student mdb PersistSecurityInfo False 2 声明连接对象DimMycnAsNewOleDbConnection sConnString 3 声明命令对象 DimmyCommandAsOleDbCommand 4 声明数据适配器对象DimmyDataAdapterAsNewOleDbDataAdapter 5 声明数据集对象DimmyDataSetAsNewDataSet 6 打开连接Mycn Open 7 通过数据适配器填充已连接的数据源的数据到数据集中 一个数据适配器只能填充一张表 DimmySqlAsStringmySql select fromRecords myDataAdapter NewOleDbDataAdapter mySql Mycn myDataAdapter Fill myDataSet Records 8 关闭连接Mycn Close 9 用代码绑定数据集到显示控件Me TextBox1 DataBindings Add Text myDataSet Records 编号 Me TextBox2 DataBindings Add Text myDataSet Records 姓名 Me TextBox3 DataBindings Add Text myDataSet Records 性别 Me TextBox4 DataBindings Add Text myDataSet Records 出生日期 Me TextBox5 DataBindings Add Text myDataSet Records 家庭住址 Me TextBox6 DataBindings Add Text myDataSet Records 手机 Me TextBox7 DataBindings Add Text myDataSet Records Email Me TextBox8 DataBindings Add Text myDataSet Records Oicq 绝对路径 访问Access数据库 显示 创建导航控件 访问Access数据库 显示 创建导航控件的代码 首条PrivateSubButton6 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton6 ClickMe BindingContext DataSet11 职员基本信息表 Position 0EndSub 最后一条PrivateSubButton7 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton7 ClickMe BindingContext DataSet11 职员基本信息表 Position Me BindingContext DataSet11 职员基本信息表 Count 1EndSub 前一条PrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickMe BindingContext DataSet11 职员基本信息表 Position 1EndSub 下一条PrivateSubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickMe BindingContext DataSet11 职员基本信息表 Position 1EndSub 关于Command对象 Command对象的主要属性 1 Connection属性 设置用于执行命令的Connection对象 2 CommandText属性 设置被执行的SQL语句 下面两段代码的效果相同 声明命令对象有二种方法 DimsConnStringAsString Provider Microsoft Jet OLEDB 4 0 DataSource D luo 人力资源管理系统 hrmbook mdb PersistSecurityInfo False DimMycnAsNewOleDbConnection sConnString DimmyComAsOleDbCommand 此方法声明可以不用关键字New 当然用也可以DimmySqlAsStringmySql selectsum 奖励金额 as奖金 职员编号from职员奖励表 Mycom NewOleDbCommand mySql Mycn DimsConnStringAsString Provider Microsoft Jet OLEDB 4 0 DataSource D luo 人力资源管理系统 hrmbook mdb PersistSecurityInfo False DimMycnAsNewOleDbConnection sConnString DimmyComAsNewOleDbCommand 此方法声明一定要用关键字NewDimmySqlAsStringmySql selectsum 奖励金额 as奖金 职员编号from职员奖励表 Mycom Connection MycnMycom CommandText mySql 关于Command对象 Command对象的方法 1 ExecuteNonQuery方法 执行一个SQL命令 但不返回结果 只返回一个值说明有多少行数据被处理 2 ExecuteReader方法 执行一个SQL命令 并生成DataReader对象作为结果返回 使用该方法时要先创建DataReader对象用来获取数据 案例见 DataBase vb和frmSalary vb 关于DataReader对象 DataReader对象是基于连接的数据流 它一次只将一个记录导入内存 而不会将结果集的所有记录同时返回 因此可以避免耗费大量内存资源 1 Read方法 读取DataReader对象的下一行记录 详解 当DataReader对象首次打开时它被置于文件开始位置即第一行之前 当调用一次Read方法 DataReader才会移动到结果集的第一行处 以后每调用依次Read方法 DataReader都会移动到结果集的下一行处 直到Read方法返回False为止 表明此时查询无结果 2 GetType方法 将指定列的值作为指定类型获取 例如 GetString方法表示将取得的字段数据设为字符串案例见 frmSalary vb DataReader对象举例1 DataReader对象举例2 DimsConnStringAsString Provider Microsoft Jet OLEDB 4 0 DataSource D luo 人力资源管理系统 hrmbook mdb PersistSecurityInfo False DimMycnAsNewOleDbConnection sConnString DimmyComAsOleDbCommandMycn Open DimmySql strSQLAsStringmySql selectsum 奖励金额 as奖金 职员编号from职员奖励表 Mycom NewOleDbCommand mySql Mycn DimdrAsOleDbDataReaderdr Mycom ExecuteReaderWhile dr Read DimjineAsDouble dr GetDouble 0 DimidAsString dr GetString 1 strSQL update月工资统计表set奖金 jine ToString where职员编号 id EndWhiledr Close Mycom NewOleDbCommand strSQL Mycn Mycom ExecuteNonQuery 注意 该案例只执行了月工资统计表最后一条记录的更新 如何完善程序 见DataBase vb和frmSalary vb 通过数组知识和事务知识 访问Access数据库 增加 例子1 访问Access数据库 增加 例子1 程序运行界面图 访问Access数据库 增加 PrivateSubButton3 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton3 ClickMe BindingContext DataSet11 职员基本信息表 AddNew EndSubPrivateSubButton5 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton5 ClickDimsqlAsString insertinto职员基本信息表 姓名 职员编号 values TextBox1 Text TextBox2 Text DimmycommandAsSystem Data OleDb OleDbCommandmycommand NewSystem Data OleDb OleDbCommand sql OleDbConnection1 OleDbConnection1 Open mycommand ExecuteNonQuery OleDbConnection1 Close EndSub 例子2 步骤 1 添加一空记录2 录入内容后保存到数据库 访问Access数据库 修改 PrivateSubbtnUpdate Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesbtnUpdate ClickTryDimstrAsString updateRecordsset姓名 Me TextBox2 Text 性别 Me TextBox3 Text 出生日期 Me TextBox4 Text 家庭住址 Me TextBox5 Text 手机 Me TextBox6 Text Email Me TextBox7 Text Oicq Me TextBox8 Text where编号 Me TextBox1 Text DimmycomAsOleDb OleDbCommandmycom NewOleDb OleDbCommand str Me OleDbConnection1 Me OleDbConnection1 Open mycom ExecuteNonQuery Me DataSet11 Clear Me OleDbDataAdapter1 Fill Me DataSet11 Records Me OleDbConnection1 Close MsgBox 记录修改成功 CatchexAsExceptionMe OleDbConnection1 Close MsgBox ex Message EndTryEndSub 修改记录时 主键字段不可更改 因此 该SQL语句有一个where条件语句 例子1 访问Access数据库 修改 PrivateSubButton8 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton8 ClickDimsqlAsString update职员基本信息表set姓名 TextBox1 Text 职员编号 TextBox2 Text where职员编号 TextBox2 Text DimmycommandAsSystem Data OleDb OleDbCommandmycommand NewSystem Data OleDb OleDbCommand sql OleDbConnection1 OleDbConnection1 Open mycommand ExecuteNonQuery OleDbConnection1 Close EndSub 例子2 访问Access数据库 删除 例子1 PrivateSubbtnDelete Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesbtnDelete ClickTryDimstrAsString deletefromRecordswhere编号 Me TextBox1 Text DimmycomAsOleDb OleDbCommandmycom NewOleDb OleDbCommand str Me OleDbConnection1 Me OleDbConnection1 Open mycom ExecuteNonQuery Me DataSet11 Clear Me OleDbDataAdapter1 Fill Me DataSet11 Records Me OleDbConnection1 Close MsgBox 记录删除成功 CatchexAsExceptionMe OleDbConnection1 Close MsgBox ex Message EndTryEndSub 访问Access数据库 删除 PrivateSubButton4 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton4 ClickDimsqlAsString delete from职员基本信息表where职员编号 TextBox2 Text DimcurPosAsInteger Me BindingContext DataSet11 职员基本信息表 PositionDimmycommandAsSystem Data OleDb OleDbCommandmycommand NewSystem Data OleDb OleDbCommand sql OleDbConnection1 OleDbConnection1 Open myCommand ExecuteNonQuery DataSet11 Clear OleDbDataAdapter1 Fill DataSet11 职员基本信息表 IfcurPos Me BindingContext DataSet11 职员基本信息表 Count 1ThencurPos Me BindingContext DataSet11 职员基本信息表 Count 1EndIfMe BindingContext DataSet11 职员基本信息表 Position curPosOleDbConnection1 Close EndSub 例子2 关于DataGrid控件 DataGrid控件用于显示数据表中的数据 该控件可用来显示单个表 也可以显示多个不相关的表 也可以显示多个相关的表 具体的用法详见 任务七 若工具箱中找不到DataGrid控件 可以在 所用Windows窗体 分组工具箱中 右键 然后选择 选择项 在出现的窗口中 选择 NETFramework组件 选项卡 找到 DataGrid 然后在其前面打勾 然后点 确定 那么DataGrid就添加到工具箱中 关于DataGridView控件 DataGridView控件具有极高的可配置性和可扩展性 它提供大量的属性 方法和事件 可以用来对该控件的外观和行为进行自定义 当需要在Windows窗体应用程序中显示表格数据时 应首先考虑使用DataGridView控件 然后再考虑使用其他控件 例如DataGrid 一般设置两个属性 DataSource 某个数据集对象DataMember 该数据集对象的某个表 关于DataView DataView类 表示用于排序 筛选 搜索和编辑的表 DataTable 的可绑定数据的自定义视图 创建DataView对象的方法 方法一 使用DataView构造函数DimcustDVAsDataView NewDataView custDS Tables Customers 方法二 创建对DataTable的DefaultView属性的引用DimcustDVAsDataView custDS Tables Customers DefaultView 关于DataView DataView对象的属性 Sort属性 获取或设置DataView的一个或多个排序 例 Dataview1 Sort NameAsc Dataview1 Sort NameDesc RowFilter属性 获取或设置用于筛选在DataView中查看哪些行的表达式 例 Dataview1 RowFilter Namelike 陈 RowStateFilter属性 获取或设置用于DataView中的行状态筛选器 例 Dataview1 RowStateFilter DataViewRowState CurrentRowsDataview1 RowStateFilter DataViewRowState ModifiedOriginal 所有Modified行的Original行版本 关于DataView的一个例子 若工具箱中找不到DataView控件 可以在 所用Windows窗体 分组工具箱中 右键 然后选择 选择项 在出现的窗口中 选择 NETFramework组件 选项卡 找到 DataView 然后在其前面打勾 然后点 确定 那么DataView就添加到工具箱中 关于DataView的一个例子 双击 DataView 控件后 在当前窗体下方会出现 DataView1 对象 在DataView1控件的属性窗口中 设置它的Tabel属性 某个数据集对象某个表接着把DataViewGrid控件的DataSource属性设置为DataView1 这样就可以使用DataView的属性 作业 实训1 创建一个Access数据库 建一表 该表字段 字段类型均为文本 编号为主键 编号 姓名 性别 出生日期 家庭住址 手机 Email Oicq 在VB NET环境中创建一个访问该数据库的系统 包括显示 修改 删除 增加和保存等功能 如图所示界面 实训2 利用数据库访问知识完善真实登录窗体frmlogin的代码
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!