求VB登陆窗口连接ACCESS数据库的代码

求VB登陆窗口连接ACCESS数据库的代码,第1张

1、DimobjCnAsNewConnection,objRsAsNewRecordset

objCnConnectionString="Provider=MicrosoftJetOLEDB351;"&"DataSource="&AppPath&objCnOpen

2、dimobjCnAsConnection

SetobjCn=NewConnection

objCnOpen“DSN=实例2DSN”

3、ADOData控件创建连接

扩展资料

ACCESS数据特性

1、access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。

2、access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学,非计算机专业的人员,也能学会。

3、在开发一些小型网站WEB应用程序时,用来存储数据。例如ASP+Access。这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer。

'

'此为ADODC部件的CONNECTSTRING属性值,可以通过窗体一步一步设置,会自动生成,当然直接复进去也可以。testmdb为数据库文件,最好不要为空,不然都看不到连接成功与否。

'添加用AddNew方法,查询用SQL语句:select [字段名1],[字段名2],,[字段名n] from [表名] where 条件[如 ID >23 ,或 ID between 2 and 30]

'删除用delete方法,修改用update方法

'Provider=MicrosoftJetOLEDB40;Data Source=apppath & "\testmdb";Mode=Share Deny None;Persist Security Info=False

'

'

Option Explicit

Dim cat As New ADOXCatalog

Dim tbl As New ADOXTable

Private Sub Form_Load()

Adodc1RecordSource = "select 日期 ID from myTable order by ID DESC"

DataGrid1Refresh

End Sub

存取对象变量库结构作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 20 API接口函数等三种访问数据库的方法。对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、 *** 作及其事务处理。在VB中,将非Access数据库称为外来数据库。对于FoxPro、dBASE、Paradox等外来数据库。虽然借助VB的Data Manager 能够对这些数据库进行NEW、OPEN、DESIGN、DELETE等 *** 作,但在应用程序的运行状态中并不能从底层真正实现这些功能。本文从使用数据库存取对象变量的方法出发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等 *** 作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性 。

一、VB数据库的体系结构具体的VB的数据库结构。

VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块"面板",在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方 法) 数据驱动程序。JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正原因。

VB专业版中提供了FoxPro、dBASE(或 Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格 式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。

由上可见,Ms JET引擎实质上提供了:一个符合ANSI标准的语法分析器;为查询结果集的使用而提供的内存管理功能;同所支持的数据库的外部接口;为应用代码提供的内部接口。实际上,在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL (Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据 *** 纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来 *** 纵。

从VB的程序代码的角度来看,ODBC,ISAM驱动程序以及Ms Access数据库的整个外部结构够可以统一为一个一致的编程接口。也即是说,提供给VB应用程序员的记录集对象视图同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的方法。

二 、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序中使用了数据库的 *** 作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个配置 (INI)文件,在INI文件中可以对不同类型的数据库进行设置。如果找不到这个INI文件, 将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录中去找和应用程序同名的INI文件。可以使用VB中的SetDataAccessOptions语句来设置INI文件。

SetDataAccessOptions语句的用法如下:SetDataAccessOptions 1 ,IniFileName其中IniFileName参数指明的是INI文件的带路径的文件名。值得注意的是,当应用程序找不到这个INI文件时,或在调用 OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 25格式设定为了" FoxPro;"(应为" FoxPro 25; "),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息" Not Found Installable ISAM "。通常,INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。 通常这种 INI文件中有" [Options]"、"[ISAM]"、" [Installed ISAMs]"、"[FoxPro ISAM]"、"[dBASE ISAM] " 、" [Paradox ISAM] "等设置段,对于一个完整的应用程序则还应有一个属于应用 程序自己的设置段如" [MyDB]”。可在其中设置DataType、Server、DataBase、 OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。 Windows API接口函数在Kernelexe动态链接库中提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(INI)的书写格式写入信息。

在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。

三 、数据存取对象变量对外来数据库编程的方法及其实例在VB专业版数据库编程的三种方法中,第二种-使用数据库存取对象变量(DAO)的方法最具有功能强大、灵活的特点。 它能够在程序中存取ODBC 20的管理函数;可以控制多种记录集类型:Dynaset,Snapshot 及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如 TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。因而,这种方法对数据库处理的大多数情况都非常适用。

由于VB中的记录集对象与所使用的数据库格式及类型是相互独立的,所以在非Access数据库中也可以使用数据库存取对象变量的方法。因而 对FoxPro等外来数据库而言,使用数据库存取对象变量的方法同样也是一种最佳的选择。 有一点需要注意的是,VB的标准版中仅能使用数据控件(Data Control)对数据库中的记录进行访问,主要的数据库存取对象中也仅有Database、Dynaset对象可通过数据控件的属 性提供,其它的重要对象如TableDef、Field、Index、QueryDef、Snapshot、Table等均不能在VB的标准版中生成,所以使用数据存取对象变量的方法只能用VB 30以上的专业版。

Imports System

Imports SystemDrawing

Imports SystemComponentModel

Imports SystemWindowsForms

Imports SystemDataOleDb

Imports SystemData

Public Class Form1

Inherits Form

Private components As SystemComponentModelContainer = Nothing

Private WithEvents lastrec As Button

Private WithEvents nextrec As Button

Private WithEvents previousrec As Button

Private WithEvents firstrec As Button

Private t_books As TextBox

Private t_nl As TextBox

Private t_xb As TextBox

Private t_xm As TextBox

Private t_id As TextBox

Private l_books As Label

Private l_nl As Label

Private l_xb As Label

Private l_xm As Label

Private l_id As Label

Private label1 As Label

Private myDataSet As DataSet

Private WithEvents button1 As Button

Private WithEvents button2 As Button

Private WithEvents button3 As Button

Private WithEvents button4 As Button

Private myBind As BindingManagerBase

Public Sub New ( )

MyBaseNew ( )

GetConnected ( )

InitializeComponent ( )

End Sub

'清除在程序中使用过的资源

Protected Overloads Overrides Sub Dispose (ByVal disposing As Boolean)

If disposing Then

If Not (components Is Nothing) Then

componentsDispose ( )

End If

End If

MyBaseDispose ( disposing )

End Sub

Public Sub GetConnected ( )

'创建一个数据连接

Dim strCon As String = " Provider = MicrosoftJetOLEDB40 ;

Data Source = dbmdb "

Dim myConn As OleDbConnection = New OleDbConnection ( )

myConnConnectionString = strCon

Dim strCom As String = " SELECT FROM person "

'创建一个 DataSet

myDataSet = New DataSet ( )

myConnOpen ( )

'通过OleDbDataAdapter对象得到一个数据集

Dim myCommand As OleDbDataAdapter = New OleDbDataAdapter

( strCom , myConn )

'把Dataset绑定books数据表

myCommandFill ( myDataSet , "person" )

'关闭此数据连接

myConnClose ( )

End Sub

'插入数据记录 *** 作代码

Private Sub button2_Click (ByVal sender As Object , _

ByVal e As SystemEventArgs) Handles button2Click

'判断所有字段是否添完,添完则执行,反之d出提示

If ( t_idText <> "" And t_xmText <> ""

And t_xbText <> "" And t_nlText <> ""

And t_booksText <> "" ) Then

Dim myConn1 As String = " Provider = MicrosoftJetOLEDB40 ;

Data Source = dbmdb"

Dim myConn As OleDbConnection = New OleDbConnection ( myConn1 )

myConnOpen ( )

Dim strInsert As String = " INSERT INTO person ( id , xm , xb , nl

, zip ) VALUES ( " & _

t_idText + " , '" & _

t_xmText + "' , '" & _

t_xbText + "' , " & _

t_nlText + " , " & _

t_booksText + ")"

Dim inst As OleDbCommand = New OleDbCommand ( strInsert , myConn )

instExecuteNonQuery ( )

myConnClose ( )

myDataSetTables ( "person" )Rows ( myBindPosition )BeginEdit ( )

myDataSetTables ( "person" )Rows ( myBindPosition )EndEdit ( )

myDataSetTables ( "person" )AcceptChanges ( )

Else

MessageBoxShow ( "必须填满所有字段值!" , "错误!" )

End If

End Sub

链接字符串的

source直接指定file://xxxxx/xxxmdb

此文件必须设为可读写共享

注意:

access

不推荐使用lan共享ado访问,非常容易造成数据文件损坏。

代码连接access

首先 工程---引用,在可引用的引用中将microsoft activex data objects 28 library和microsoft activex data objects recordset 28 library勾选

然后定义

Dim cn As New ADODBConnection

Dim rs As New ADODBRecordset

Set cn = New ADODBConnection

Set rs = New ADODBRecordset

定义好后连接数据库

cnConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath + "/newsmdb;"

cnOpen

其中数据库为当前路径下的newsmdb,

打开数据库

sql语句自己写

rsopen sql,cn,3,1

这样数据库中sql语句找到的记录都在rs中

MSFlexGrid1Top = 950

MSFlexGrid1CellTextStyle = flexTextInsetLight

MSFlexGrid1Rows = 7 '设置总行数

MSFlexGrid1Cols = 8 '设置总列数

MSFlexGrid1GridColor = &H404040 '网格颜色

MSFlexGrid1ForeColor = &HFFCCCC '字体颜色

MSFlexGrid1BackColor = vbBlack

MSFlexGrid1GridLines = 1 '设置网格线的属性

MSFlexGrid1GridLineWidth = 1 '设置网格线的粗细程序,默认为1

MSFlexGrid1控件的一部分设置,自己找属性看看其他设置

将数据写入表格中

MSFlexGrid1TextMatrix(0, 0) = "名称"

MSFlexGrid1TextMatrix(0, 1) = "最新价"

MSFlexGrid1TextMatrix(0, 2) = "涨跌"

MSFlexGrid1TextMatrix(0, 3) = " 成交数"

MSFlexGrid1TextMatrix(0, 4) = "名称"

MSFlexGrid1TextMatrix(0, 5) = "最新价"

MSFlexGrid1TextMatrix(0, 6) = "涨跌"

MSFlexGrid1TextMatrix(0, 7) = "成交数"

将rs中的数据写入表格

for i=0 to 5

MSFlexGrid1TextMatrix(i, 1) = rs("数据库字段")

rsmovenext

next

首先你需要在部件中把这两个部件添加到工具栏中并将他们拖到窗口中

上面那个是VB连接数据库的必要的一个部件,我说一下大致的步骤吧

1先把上面第一个部件拖到Frm1上,接着新建一个模块并输入下面这串代码

红色框内是你的数据库名称 打完之后先保存模块才能生效

2在当前Frm1里面建几个text分别显示你数据库里面某个表里某个字段的数据

3将第一个图中第二个部件拖到Frm1里,这个部件是用来显示你某个表里所有的数据的,你可以在你鼠标单击表里的内容时显示在窗体的几个TEXT中

大致应该就是按照这个思路去做的 我因为没有具体的表什么的也不知道怎样讲的更明白点,而且我不太明白你最后那个计算是什么意思就只能帮到这了。。。有什么问题你可以追问

以上就是关于求VB登陆窗口连接ACCESS数据库的代码全部的内容,包括:求VB登陆窗口连接ACCESS数据库的代码、VB6.0 *** 作Access方法、怎么使用VB读取ACCESS数据库并显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9462884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存