朱瑞芳
摘要:该文主要介绍了一种数据控件DataGridView,它是ADO.NET3.5中新增加的一种网格控件,能以表格的形式显示数据,在数据库的操作中会经常用到。该文阐述如何运用VB.net通过 DataGridView控件操纵SQL Server数据库,从而为数据库管理系统的开发与应用提供方便。
关键词:DataGridView;添加;更改;删除
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)28-6607-04
随着计算机应用技术的迅猛发展和网络技术的日益成熟并实用化,计算机进入各个领域,大量大规模的信息系统的建立,要求计算机应用领域由集中到分布,由单机到网络。因此,几乎所有主流的数据库管理系统产品都包含了分布式数据库管理系统的功能。只要轻点鼠标按钮就能完成查询、添加、修改、删除等数据维护操作。友好的界面设计,使非计算机专业的人员也能适应各种工作岗位。因此熟练掌握数据库开发技术尤为重要。
1 运行环境
本文通过Visual Studio 2010 的VB.NET访问数据库Sql Server 2008为例,重点说明DataGridView控件的使用方法。因此,首先要在Windows系统上正确安装好Visual Studio 2010和Sql Server。
1.1 数据准备
打开SQL Server,服务器类型为数据库引擎,服务器名称为本地计算机名称,身份验证为Sql server身份验证,用户名和密码分别为sa和sa123。为了便于理解,现假设数据库文件名称和位置为 : c:\StudentInf.mdf
该数据库中有一个名称为 Grade的数据库表。表的内容如图1所示。
1.2 运行Visual Studio 2010
打开Visual Studio 2010,新建项目,名称设为“StudentInfo”(如果有公用模块,将该项目名称用作空间名称)。
1.3 界面设计
如图2所示,界面上有添加、修改、删除三个命令按钮,另包括5个文本框,一个显示表格的DataGridView控件。
1.4 Class Form1代碼
该工程只有一个窗体代码:
Imports System.Data.SqlClient
Public Class Form1
Dim Conn AsSqlConnection
Dim da As SqlDataAdapter
Dim ds As DataSet
Dim dt As DataTable
……
End Class
其中“……”(省略号)部分是添加、删除、更新等命令按钮的Click事件代码。下面分别说明如何用DataGridView控件实现相应的命令操作。
2 关键代码
通过修改dataGridView1中的数据来更新数据库中的内容,原理是通过studentInfDataSet将dataGridView1绑定到Grade1表,studentInfDataSet处于中间位置,所以在dataGridView1中修改的数据必须要传递到studentInfDataSet后才能改变数据库中的内容。
2.1“添加”按钮的click事件代码
连接本地SQL Server数据库有二种方式:一种是点击dataGridView1控件右上角的小三角形,创建对象连接,绑定'数据源,如图3所示。
另一种方法用连接字符串
2.2 “更新”按钮的click事件代码
更新数据的功能,由选中行事件与单击“更新”按钮二个事件共同完成,代码如下:
2.2.1 DataGridView1_CellClick事件过程代码
If e.RowIndex < DataGridView1.Rows.Count - 1 Then
TextBox1.Text = DataGridView1. _
Rows(e.RowIndex). Cells(0).Value. ToString()
TextBox2.Text = DataGridView1._
Rows(e.RowIndex). Cells(1).Value.ToString()
TextBox3.Text = DataGridView1._
Rows(e.RowIndex). Cells(2).Value.ToString()
TextBox4.Text = DataGridView1. Rows(e.RowIndex). Cells(3).Value.ToString()
TextBox5.Text = DataGridView1. Rows(e.RowIndex). Cells(4).Value.ToString()
End If
2.2.2 “更新”按钮的click事件代码
“公用代码”
ds.Tables("mytb1").PrimaryKey = New DataColumn() {ds.Tables("mytb1"). _
Columns("学号")}
dr = ds.Tables("mytb1"). _
Rows.Find(TextBox1.Text)
'找到当前的记录,并修改
dr("学号") = TextBox1.Text
dr("姓名") = TextBox2.Text
dr("语文") = TextBox3.Text
dr("数学") = TextBox4.Text
dr("英语") = TextBox5.Text
'更新到数据库里
Dim scb As New SqlCommandBuilder(da)
da.Update(ds, "mytb1")
DataGridView1.DataSource = _
ds.Tables("mytb1")
Conn.Close()
先选中任一行,使行内数据复制到对应的文本框,再在文本框内修改,最后点更新。
2.3 “删除”按钮的click事件代码
DataGridView1.Rows.RemoveAt _
(DataGridView1.CurrentRow.Index)
再更新到数据库,否则只删除DataSet里的数据,而并没有真正删除。但限于篇幅,重新绑定数据库的代码省略。
DataGridView控件还有很多相关属性设置:如选中整行;选择隐藏所选中的列或列头;禁止列高、行宽改变;或设列宽和行高的最小值;使用 ReadOnly 属性,设定单元格是否只读;是否显示最下面的新行;设定单元格的指定背景颜色等。
3 结束语
熟练掌握VB.NET技术,灵活运用DataGridView控件,能轻松设计高效、稳定的数据库管理系统,并且利用资源共享和模块通用性的特点,使得数据库管理系统的应用日益广泛,与日新月异的计算机和网络技术发展相适应。
参考文献:
[1] 青岛东合信息技术有限公司,青岛海尔软件有限公司.VB.NET程序设计[M].北京:电子工业出版社,2011.
[2] 石志國,刘冀伟,张维存.VB.NET数据库编程[M].北京:清华大学出版社,2009.
[3] 童爱红,刘凯.VB.NET应用教程[M].北京:北京交通大学出版社,2005.
[4] 藏洪广.Visual Basic 2005+SQL Server2005数据库开发与实例[M].北京:清华大学出版社,2008.