Visual Basic 2012 借助DataGridView控件将SQL s…
2018-06-22 01:05:02来源:未知 阅读 ()
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中。Excel软件对数据的修改和编辑具有很大的优势,而SQL Server在数据的查询、存储以及安全方面是Excel无法相比的。因此,通过Visual Basic实现了Excel和SQL server之间的数据传输可以很好地结合两者的优点,更好更快地编辑,修改和存储数据。
关键词:Visual Basic 2012;SQL server 2012;数据;传输;
1引言
在现代互联网信息爆炸的时代,信息不论在数量和内容上都会发生很快的更新,因此及时实现对信息的管理和更新非常重要,SQL server数据库在数据的存储、管理和查询方面非常便捷,尤其提供了很大程度的安全性,然而SQL server数据库在跨系统的数据交换仍存在一定的不便。在数据的编程方面也不能喝Excel相比。Excel在文件处理、保存、传送、交换数据方面非常便利,却在数据的集中管理和查询方面也不方便。本文主要研究了使用Visual实现Excel和SQL server数据之间的数据交换在信息管理系统的应用,包括将SQL server数据导入到Excel中,同时可以直接在Visual Basic 2012的可视化界面上对数据进行修改、删除和添加等编辑动作。
2.SQL server数据导入到Excel的实现
数据的导出主要是将SQL server 2012版本的数据库Books.mdf中的Authors表中的数据导出到Excel 2010文件的Sample Worksheet工作簿中,这样可以方便数据库的使用者下载自己需要的信息。主要的思路是将数据存入到一个新建的Excel中,然后存储起来以便使用。
2.1使用Visual Basic控件
在本案例中DataGridView数据库控件是实现Visual Basic 2012和SQL server2012数据库之间桥梁,通过它可以将数据库中的数据读取出来,然后在DataGridView数据库控件中显示出来。DataGridView控件就是以DataSet连接的数据库为数据源,在界面上可以对应的显示出来。
2.2 Visual Basic 2012中的控件DataGridView上显示 SQL Server 2012数据
2.2.1在Visual Basic 2012中创建SQL server To Excel项目。打开 Visual studio 2012,“开始”——“所有程序”——“ Microsoft Visual Studio 2012”—— Visual studio 2012——“文件”——“新建项目”——“visual basic”——“Windows 窗体应用程序”,在“名称”里输入“SQL server 2012 数据库导入到Excel 2010”,记下位置路径,准备后面使用“c:\users\administrator\documents\visual studio 2012\Projects”如图:
建成项目后,需添加必须的引用,添加“项目”——“添加引用”——“框架”(.NET)——“扩展”——“Microsoft.Office.Interop.Excel ”、“Microsoft.Office.tools.Excel”、“office”、“ADODB”。打开项目所在的目录“c:\users\administrator\documents\visual studio 2012\Projects”——“SQL server 2012 数据库导入到Excel 2010”——“SQL server 2012 数据库导入到Excel 2010”——“bin”——“debug”,将所建的数据库“Books.mdf”和“Books_log.ldf”复制到这里,这样可以实现在没有安装SQL server软件的另一台电脑上使用,决定了所编程软件的灵活性。由于操作数据库,所以要导入类,这样可以简化编写代码。在窗体代码顶部:输入代码
Imports System.Data Imports System.Data.SqlClient Imports Microsoft.Office Imports Microsoft.Office.Interop.Excel Imports Microsoft.Office.Tools.Excel Imports Excel = Microsoft.Office.Interop.Excel
2.2.2 在窗体上添加一个DataGridView控件(属性默认)和一个Button控件(Text属性值为“导出到Excel 2010 文件”),在窗体类中定义连接字符串SqlConnection、Sqlcommand对象、SqlDataset对象、DataSet对象。输入代码:
Dim objconnection As SqlConnection = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\books.mdf;Persist Security Info = False") Dim objCommand As SqlCommand = New SqlCommand() Dim objDataAdapter As New SqlDataAdapter() Dim objDataSet As New DataSet()
提示:My.Application.Info.DirectoryPath指的就是所保存的项目文件中bin文件夹下的debug文件夹路径。
2.2.3在窗体加载事件(Form1_Load)中添加代码。
代码如下:
objDataAdapter.SelectCommand = New SqlCommand() objDataAdapter.SelectCommand.Connection = objconnection objDataAdapter.SelectCommand.CommandText = "SELECT AuthorID,FirstName,LastName FROM Authors" objDataAdapter.SelectCommand.CommandType = CommandType.Text objconnection.Open() objDataAdapter.Fill(objDataSet, "Authors") objconnection.Close() DataGridView1.AutoGenerateColumns = True DataGridView1.DataSource = objDataSet DataGridView1.DataMember = "Authors" objDataAdapter = Nothing objconnection = Nothing
2.2.4本程序至此已全完成,进行运行测试。点击“运行”按钮,运行结果如图;单击“导出到Excel 2010文件”按钮,运行结果如图:
3结语
本文中所用到的数据库books.mdf是“Visual Basic 2012 How to Program”一书中的源代码中的文件。非常感谢这本书的作者Deital。笔者认为理的“魂”——简短,尽可能地删去了解释方面的语句。其实通过代码在DataGridView控件和Excel的界面可以做更改以致看起来更好。以后会再写一篇“Excel 2010 文件导入到SQL server 2012数据库”的文章,相互对应。
附:完整代码
1 Imports System.Data 2 Imports System.Data.SqlClient 3 Imports Microsoft.Office 4 Imports Microsoft.Office.Interop.Excel 5 Imports Microsoft.Office.Tools.Excel 6 Imports Excel = Microsoft.Office.Interop.Excel 7 8 Public Class Form1 9 Dim objconnection As SqlConnection = New SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename=" & My.Application.Info.DirectoryPath & "\books.mdf;Persist Security Info = False") 10 Dim objCommand As SqlCommand = New SqlCommand() 11 Dim objDataAdapter As New SqlDataAdapter() 12 Dim objDataSet As New DataSet() 13 14 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load 15 objDataAdapter.SelectCommand = New SqlCommand() 16 objDataAdapter.SelectCommand.Connection = objconnection 17 objDataAdapter.SelectCommand.CommandText = "SELECT AuthorID,FirstName,LastName FROM Authors" 18 objDataAdapter.SelectCommand.CommandType = CommandType.Text 19 objconnection.Open() 20 objDataAdapter.Fill(objDataSet, "Authors") 21 objconnection.Close() 22 DataGridView1.AutoGenerateColumns = True 23 DataGridView1.DataSource = objDataSet 24 DataGridView1.DataMember = "Authors" 25 objDataAdapter = Nothing 26 objconnection = Nothing 27 28 End Sub 29 30 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 31 Dim xlApp As Microsoft.Office.Interop.Excel.Application 32 Dim xlBook As Microsoft.Office.Interop.Excel.Workbook 33 Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet 34 xlApp = New Microsoft.Office.Interop.Excel.Application 35 xlApp.Visible = True 36 xlBook = xlApp.Workbooks.Add() 37 xlSheet = CType(xlBook.Sheets.Add(), Excel.Worksheet) 38 xlSheet.Name = "Sample Worksheet" 39 xlApp.DisplayAlerts = False 40 41 With xlSheet 42 .Range("a1").CurrentRegion.Clear() 43 For i = 1 To DataGridView1.Columns.Count 'i 为列 44 .Cells(1, i) = DataGridView1.Columns(i - 1).HeaderText 45 For j = 0 To DataGridView1.Rows.Count - 1 'j 为行 46 .Cells(j + 2, i) = DataGridView1.Item(i - 1, j).Value 47 Next j 48 Next i 49 End With 50 51 End Sub 52 End Class
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:认识基本的mfc控件
- Yii basic 模板支持连接多数据库 2019-07-24
- SQLServer 2012 可视化窗口中,设置“时间”默认值为“当前 2018-07-13
- SQLServer 2012之AlwaysOn —— 指定数据同步链路,消除网络 2018-07-13
- Percona-Tookit工具包之pt-visual-explain 2018-06-29
- Visual Studio 2017 安装失败,你们有这样的问题吗?怎么解 2018-06-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash