首页数据库vb连接sql数据库实例?sql数据库下载及安装

vb连接sql数据库实例?sql数据库下载及安装

编程之家2026-05-231124次浏览

大家好,关于vb连接sql数据库实例很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于sql数据库下载及安装的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

vb连接sql数据库实例?sql数据库下载及安装

求一个 VB 连接SQL SERVER数据库里表的 实例!谢谢

Private Sub Command1_Click()

' Dim excel_app As excel.Application

' Dim excel_sheet As excel.Sheets

Dim excel_app As Object

Dim excel_sheet As Object

Dim rs As ADODB.Recordset

vb连接sql数据库实例?sql数据库下载及安装

Dim strsql As String

Dim pubconn As ADODB.Connection

Dim exfieldA As String

Dim exfieldB As String

Dim exfieldC As String

Dim exfieldD As String

vb连接sql数据库实例?sql数据库下载及安装

'打开数据库

Set rs= New ADODB.Recordset

Set pubconn= New ADODB.Connection

pubconn="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=aaa;Data Source=(local)"

pubconn.Open

Set excel_app= CreateObject("excel.application")'excel对象

Set excel_app= New Excel.Application

' excel_app.Visible= True

excel_app.Workbooks.Open FileName:="D:\astroboy\河南生税务支持系统\实现\字典\111.xls"

' excel_app.Worksheets(Combo1.ListIndex+ 1).Activate

If Val(excel_app.Application.Version)>= 8 Then'检查excel文件的版本

Set excel_sheet= excel_app.ActiveSheet

Else

Set excel_sheet= excel_app

End If

'''创建sql表格

Dim crtstrsql As String

Dim exceltst As String

exceltst= Text1.Text

exfieldA= Trim$(excel_sheet.Cells(1, 1))

exfieldB= Trim$(excel_sheet.Cells(1, 2))

exfieldC= Trim$(excel_sheet.Cells(1, 3))

exfieldD= Trim$(excel_sheet.Cells(1, 4))

crtstrsql=""

crtstrsql= crtstrsql&"create table"& exceltst&"("& vbCrLf

crtstrsql= crtstrsql& exfieldA&" char(50) null,"& vbCrLf

crtstrsql= crtstrsql& exfieldB&" char(6) null,"& vbCrLf

crtstrsql= crtstrsql& exfieldC&" datetime null,"& vbCrLf

crtstrsql= crtstrsql& exfieldD&" datetime null)"

pubconn.Execute crtstrsql

Dim new_value1 As String

Dim new_value2 As String

Dim new_value3 As String

Row= 2

Do

new_value= Trim$(excel_sheet.Cells(Row, 1))'读取excel工作者第一列数据

new_value1= Trim$(excel_sheet.Cells(Row, 2))

If excel_sheet.Cells(Row, 3)="" Then

new_value2=""

Else

new_value2= CDate(excel_sheet.Cells(Row, 3)&"1月")

End If

If excel_sheet.Cells(Row, 4)="" Then

new_value3=""

Else

new_value3= CDate(excel_sheet.Cells(Row, 4)&"1月")

End If

If Len(new_value)= 0 And Len(new_value1)= 0 Then Exit Do

'将这一值插入SQL数据库

strsql="insert into"& exceltst&"("& exfieldA&","& exfieldB&","& exfieldC&","& exfieldD&") values('"& new_value&"','"& new_value1&"','"& new_value2&"','"& new_value3&"')"

pubconn.Execute strsql

Row= Row+ 1'读取下一行数据

Loop

MsgBox"传输数据完成!", vbOKOnly,"完成!"

pubconn.Close

excel_app.Quit

Set rs= Nothing

Set pubconn= Nothing

Set excel_app= Nothing

Set excel_sheet= Nothing

End Sub

或参考以下

EXCEL文件要设置固定格式,还要设置命名范围,然后才可以导入

大致思路如下:

'//设置打开 EXCEL文件的连接字符串

strConn="Provider=Microsoft.Jet.OLEDB.4.0;"& _

"Data Source=excel文件名;Extended Properties=Excel 8.0"

'//以记录集的形式打开 Excel文件,adoConn为 ADODB.Connection对象

adoConn.Open strConn

'//将数据插入到指定的表中(以ODBC的方式打开SQL数据库)

strSQL="INSERT INTO [odbc;Driver={SQL Server};Server=服务器IP;Database=数据库;UID=用户名;PWD=密码].SQL中的表名 SELECT EXCEL中的字段 FROM EXCEL工作表名"

'//执行导入语句

adoConn.Execute strSQL,, adExecuteNoRecords

vb如何连接sql数据库,求源码

Dim conn As New ADODB.Connection'创建一个 Connection实例,在这里使用New等于将Dim和Set合并为一段代码执行

Dim rs As ADODB.Recordset'创建一个 Recordset实例,不使用New是因为,经常需要重复使用Set,因此没必要在这里使用

Dim CnStr As String, Sql As String'创建两个字符串变量分别存放两个集合的SQL语句代码段

1、装载数据库(不属于Recordset集合)

=============

Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$

'以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码

FileName= App.Path&"\'数据库名'"

DbIp="数据库地址"

DbName="数据库名"

DbUser="数据操作员用户名"

DbPw="操作员密码"

'以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量

'1)连接Access数据库:

'-------------------

CnStr="PROVIDER=microsoft.jet.oledb.3.51;persist security info=false;data source="& FileName&";Jet OLEDB:Database Password="& DbPw

'2)连接Oracle数据库:

'-------------------

CnStr="PROVIDER=MSDAORA.1;Password="& DbPw&";User ID="& DbUser&";Data Source="& FileName&";Persist Security Info=True"

'其中:

'PASSWORD:密码

'User ID:用户号

'Data Source:数据库名

'Persist Security Info:

'Provider:

'3)连接VF的DBF库:

'----------------

CnStr="PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID="& DbUser&";SourceDB="& FileName&

";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"

'4)连接SQL的数据库

'------------------

CnStr="PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid="& DbUser&";pwd="& DbPw&";DRIVER=SQL Server;DATABASE="& DbName&";WSID=GQSOFT;SERVER="&

DbIP

'也可以使用这段简易代码 CnStr="Provider=SQLOLEDB;Data Source="& DbIp&";DATABASE="& DbName&";UID="& DbUser&";pwd="& DbPw

Conn.Open cnstr'使用 Connection集合的 Open方法与数据库建立连接

2、Recordset集合的常用方法

==========================

'1)打开一个表

'------------

Sql="select* from表名"'SQL查询语句

Set rs= New ADODB.Recordset'新建一个实例

rs.Open Sql, conn'使用 Open方法打开数据库中的一个表

'注意,这种打开方式只能使用 rs.MoveNext(即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容

'

'rs.Open Sql, conn,1'虽然只加了个“1”,但这种方法可以向任何方向移动行坐标。

'

'以下参数代表了这个可选值的含义

'0= adOpenForwardOnly(默认值)打开仅向前类型游标。

'1= adOpenKeyset打开键集类型游标。

'2= adOpenDynamic打开动态类型游标。

'3= adOpenStatic打开静态类型游标。

'

'虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open方法进行完善

'rs.Open Sql, conn, 1, 3'后面的3是确定读写权限的

'以下参数代表了这个可选值的含义

'1= adLockReadOnly(默认值)只读—不能改变数据。

'2= adLockPessimistic保守式锁定(逐个)—在编辑时立即锁定数据源的记录。

'3= adLockOptimistic开放式锁定(逐个)—只在调用 Update方法时才锁定记录。

'4= adLockBatchOptimistic开放式批更新—用于批更新模式(与立即更新模式相对)。

'

'2)读写数据

'----------

'增加一行记录并对新记录的内容进行修改并保存可以如下写法

rs.AddNew'增加一行记录

rs("...")="..."'数据读写操作

...

rs.UpDate'保存写入资料,如果使用只读权限,则不能使用这个方法

rs.Close'这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重

2、对数据进行筛选和排序

=======================

Sql="select* from表名"'SQL查询语句

'以上为打开一个表的所有内容

Sql="select top 50* from表名"'SQL查询语句

'以上为只打开前50行的记录

Sql="select top 50列名1,列名2,列名5 from表名"'SQL查询语句

'以上为只打开前50行的记录,并且只打开第1、2、5列数据

Sql="select* from表名 where列名1='"&字段&"'"'SQL查询语句

'以上为一个简单的筛选,表示打开的内容必须符合[列名1='"&字段&"'"]的内容

'需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起

'而数字类型则不能用单引号括起

'另外SQL语句还支持通配符,例如列名1 like'%"&字段&"%'"表示包含[字段]

'在表达式中的匹配

'? _(下划线)任何单一字符

'* or%零个或多个字符

'#任何单一数字(0— 9)

'[charlist]任何在字符表中的单一字符

'[!charlist]任何不在字符表中的单一字符

'注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用%和 _分别代表多个字符和单一字符

Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 ASC"'对查询结果进行升序排列

Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 DESC"'对查询结果进行降序排列

Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 DESC, ORDER BY字段2 DESC"'对查询结果进行多维降序排列(速度奇慢,不推荐使用)

3、Recordset集合的常用属性方法

==============================

rs.BOF'是否游标在最上边

rs.EOF'是否游标在最下边

rs.RecordCount'记录集的行数(如果使用像前类型的游标,可能返回不准确)

rs.AddNew'新建一行记录

rs.Update'保存当前行被修改的记录

rs.Delete'删除当前行

rs.Close'关闭记录集

4、Fields集合的一些属性的解释

=============================

'以下为简写,正常情况需要rs.Fileds.。。。但是Fields属于Recordset的一个默认集合,因此可以省略

rs()'括号内可以是列名也可以是列的序号例如:rs("姓名")、rs(3)都是是可以的

rs(3).Name'返回列名

rs(3).Type'返回列的类型

rs(3).Value'返回当前行的值

rs.Fields.Count'返回列数

如何用VB连接SQL数据库做登录

VB连接SQL数据库,可通过ADO数据对象和SQL结构化查询语言实现。

ADO(ActiveX数据对象),这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft和非 Microsoft

的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

代码示例:

Private Sub XPButton1_Click()

On Error GoTo finish'防错代码,防止意外而导致的退出

sql="select* from用户管理 where用户名='"& Text1.Text&"' and密码='"& Text2.Text&"'"

cn.ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=登录数据库用户名(默认为sa);Password=登录数据库密码;Initial Catalog=数据库名;Data Source=服务器名(默认为:MERRYCHINA)"'这是连接SQL数据库的语句

cn.Open

rs.CursorLocation= adUseClient

rs.Open sql, cn, adOpenDynamic, adLockOptimistic

'以上使用最通用的方法来查询数据库中是否有匹配的记录

If rs.EOF= True Then'如果没有记录则说明用户或密码为错误的

If pnum< 2 Then'pnum就是密码验证次数,当次数超过3次,系统会自动保护退出

pnum= pnum+ 1

MsgBox"用户名或密码错误!", vbInformation,"错误次数:"& pnum

rs.Close

cn.Close

Text1.Text=""

Text2.Text=""

Text1.SetFocus

Exit Sub

Else

MsgBox"用户名或密码错误超过三次,系统会自动退出", vbInformation,"提示"

End

End If

Else

loginname= rs.Fields(0)

Form1.Show

rs.Close

cn.Close

End If

Exit Sub

finish:

MsgBox Err.Description

rs.Close

cn.Close

End Sub

注意cn.ConnectionString此句需依据实际的SQL数据库建立连接获得的字符串。

如果你还想了解更多这方面的信息,记得收藏关注本站。

免费开源商城系统源码 免费个人商城系统源码php彩票网站源码?如何用php搭建彩票网站源码