怎么把数据库导入VB(vb使用sqlclient)
当数据量少的时候怎么把数据库导入VB,用Excel文件和Access数据库作为数据存储载体怎么把数据库导入VB,可以满足中等规模的需求。当数据量上升至10W级别以上,效率就会打折扣许多,因此,为了适应10W+以上的数据量的增删改查的操作,就需要使用更大级别的数据库管理系统,比如SQL Server,My SQL,Oracle等。
现在来讨论一下,如何在VBA工程中编写代码创建SQL Server数据库和数据表,我们假设要创建的数据库和数据表当前并不存在。在完成目标任务时需要使用ADO对象和SQL语句。
笔者工作环境为怎么把数据库导入VB:Win7 64位操作系统 + SQL Server 2012数据库管理系统 + Office2010套件,数据库服务器的名称为 MEIMEI, 需要使用到Microsoft ActiveX Data Objects 6.1 Library,如果您的环境与此不同,请换成相应版本的库文件。
准备工作截图如下:
程序执行过程中截图:
程序编码截图如下:
完整实现代码如下:
Public Sub 创建数据库和数据表()
Dim cnn As ADODB.Connection
Dim cnnStr As String, SQL As String
Dim mydata As String, myTable As String
mydata = "成绩管理"
myTable = "学生成绩"
Set cnn = New ADODB.Connection
cnnStr = "Provider = SQLOLEDB.1; User ID = 您的账号; Password = 您的密码;Initial Catalog = " & mydata
cnn.ConnectionString = cnnStr
On Error Resume Next
cnn.Open
On Error GoTo 0
If cnn.State = adStateOpen Then
MsgBox "数据库已经存在,请重新命名数据库名怎么把数据库导入VB!", vbCritical
cnn.Close
Set cnn = Nothing
Exit Sub
End If
cnnStr = "Provider=SQLOLEDB.1; User ID=您的账号; Password = 您的密码;Data Source=MEIMEI"
cnn.ConnectionString = cnnStr
cnn.Open
SQL = "create database " & mydata
cnn.Execute SQL
MsgBox "数据库创建成功!", vbInformation, "创建数据库"
cnn.Close
cnnStr = "Provider=SQLOLEDB.1; User ID=您的账号; Password = 您的密码;Data Source=MEIMEI; Initial Catalog=" & mydata
cnn.ConnectionString = cnnStr
cnn.Open
SQL = "create table " & myTable & "(学号 varchar(10) not null primary key,姓名 varchar(10) not null,语文 Int not null,英语 Int not null,数学 Int not null,物理 Int not null,化学 Int not null,体育 Int not null)"
cnn.Execute SQL
MsgBox "数据表创建成功!", vbInformation, "创建数据表"
cnn.Close
Set cnn = Nothing
End Sub
在实际使用时,请把代码段中 您的账号 和 您的密码 替换成您SQL Server数据库服务器的登录账号和账号密码.
充分发挥VBA的优势,提高Excel自动化工作效率 汇总多个工作簿的数据
https://www.toutiao.com/i6594221425127588355/
利用VBA把Excel工作表里的数据复制到Word文档中
https://www.toutiao.com/i6594975705451201038/
利用VBA以Excel工作表数据为基础数据 *** 幻灯片
https://www.toutiao.com/i6594989039856648707/
将Excel文件里的表格数据保存到现有的Access数据库里
https://www.toutiao.com/i6595321558460269063/
利用VBA 打开控制面板的“程序和功能”删除应用程序的窗口
https://www.toutiao.com/i6595683294958846478/