当前位置:首页 > 2008年四川延考区高校招生统一试卷(理综)
providerName=\System.Data.OleDb\ /> //数据库类型 以下是formload中代码(注意加粗且倾斜代码)。 Private Sub frm_brow_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 这行代码将数据加载到表“Address_bookDataSet.address”中,读者可以根据需要移动或移除它。 Me.AddressTableAdapter.Fill(Me.Address_bookDataSet.address) //连接库中哪个表 End Sub 从上述代码,我们不难得出,本例中是采用OLE DB技术与数据库建立连接的。建立数据库连接和访问,采用向导方式并不能随时在程序中有效的对数据库进行操作,所以我们应该学习编写代码方式访问数据库,即以SQL语言方式进行数据库连接、查询及修改等。我们将在下面的章节中详细讲解。 10.3 为个人资料库建立密码 10.3.1 例10-4 设置数据库密码 任务描述: 为数据库address_book.mdb设置密码,并使用代码编程方式在DataGridView控件中显示数据库中内容。 任务分析: 数据库中包含着大量的数据信息,有许多的数据是使用者并不希望公开的,如本例中的个人资料,是个人隐私。所以在使用数据库时,我们会为它设置密码,只有拥有密码的人才能查看数据库中的数据。 任务实现: 1. 要设置数据库密码,必须以独占方式打开数据库。 图10-15 以独占方式打开数据库address_book.mdb 2. 点击“工具”菜单中子菜单“安全”中的“设置数据库密码”,为数据库设置密码。 图10-16选择“设置数据库”菜单 3.在“设置数据库密码”对话框中,设置密码为“123456”,点击“确定”按钮。 图10-17 为address_book.mdb数据库设置密码 4.按例10-2设计界面,新建项目brow_address_1,加入DataGridView控件和返回控件。 5.例10-3中利用向导方式建立了与数据库的连接,在此例中,用代码方式访问数据库。在form_load事件中添加代码如下:(观察与例10-3中系统生成代码相似之处) Dim strConn As String ‘连接数据库 OleDbConnection strConn = \Source=address_book.mdb;jet oledb:database password=123456\思考如果没有密码,编写数据库连接的代码应该如何书写 Dim objConn As New OleDb.OleDbConnection(strConn) objConn.Open() ‘打开表 OleDbDataAdapter Dim strSql = \ Dim objAdap As New OleDb.OleDbDataAdapter(strSql, objConn) objConn.Close() ‘关联到数据集 DataSet Dim objDSet As New DataSet objAdap.Fill(objDSet, \) ‘关联到控件 DataGridView1.DataSource = objDSet.Tables(\) 6.编译执行项目,数据库中内容正确显示在DataGridView1控件中。 10.4 个人资料库的数据录入与修改 10.4.1 例10-5 录入/修改数据库记录 任务描述: 设计录入/修改程序,为数据库address_book.mdb中表address增加、修改、删除个人资料数据记录。 任务分析: 为了方便的对数据库进行操作,我们设计如图10-6的程序界面,并为其中的文本框控件和按钮控件绑定到address_book库中的表address中。 任务实现: 1.按图10-6设计程序界面,如下图10-18所示。 图10-18 录入/修改个人资料界面 2.为了在所有按钮中使用数据库连接,定义下列全局变量。 Dim mybind As BindingManagerBase Dim strConn As String = \Source=address_book.mdb;jet oledb:database password=123456\ Dim objConn As New OleDb.OleDbConnection(strConn) Dim objAdap As New OleDb.OleDbDataAdapter() Dim objDSet As New DataSet 3.为文本框绑定数据库中字段,将下面代码加入form_load中,代码如下: objConn.Open() Dim strSql = \ objAdap.SelectCommand = New OleDb.OleDbCommand(strSql, objConn) objConn.Close() objAdap.Fill(objDSet, \) tx_name.DataBindings.Add(New Binding(\, objDSet, \姓名\)) tx_work.DataBindings.Add(New Binding(\, objDSet, \工作单位\)) tx_birth.DataBindings.Add(New Binding(\, objDSet, \出生日期\)) tx_h_phone.DataBindings.Add(New Binding(\, objDSet, \家庭电 话\)) tx_m_phone.DataBindings.Add(New Binding(\, objDSet, \移动电话\)) tx_qq.DataBindings.Add(New Binding(\, objDSet, \)) tx_email.DataBindings.Add(New Binding(\, objDSet, \)) 此时,编译执行,可显示数据库中address表中的第一条记录。 4.为了在程序代码中均可用绑定,在form_load前增加声明。 Dim mybind As BindingManagerBase 并在form_load代码最后增加以下代码。 mybind = Me.BindingContext(objDSet, \) 5.为按钮编写事件代码。(暂不考虑异常) (1)bn_first_click事件 mybind.Position = 0 (2)bn_last_click事件 mybind.Position -= 1 (3)bn_next_click事件 mybind.Position += 1 (4)bn_end_click事件 mybind.Position = mybind.count-1 (5)bn_add_click事件 If bn_add.Text = \增加\ Then tx_name.Text = \ : tx_birth.Text = \ : tx_h_phone.Text = \ tx_m_phone.Text = \ : tx_email.Text = \ : tx_work.Text = \ : tx_qq.Text = \ bn_add.Text = \确认\ Else objConn.Open() Dim strin As String = \insert into address(姓名,出生日期,工作单位,家庭电话,移动电话,qq,email) values ('\ & tx_name.Text & \ & tx_birth.Text & \ & tx_work.Text & \ & tx_h_phone.Text & \ & tx_m_phone.Text & \ & tx_qq.Text & \ & tx_email.Text & \\ ? 注释 ?”& 变量名 &”?是字符串中使用变量的值的格式 Dim objCmd As New OleDb.OleDbCommand(strin, objConn) objCmd.ExecuteNonQuery() objConn.Close() Dim strsql = \ objAdap.SelectCommand = New OleDb.OleDbCommand(strsql, objConn) objDSet.Clear() objAdap.Fill(objDSet, \) bn_add.Text = \增加\ mybind.Position = mybind.Count - 1 MsgBox(\更新成功\) End If
共分享92篇相关文档