用ADODB连接数据库如何获取数据表中某一字段的值

用ADODB连接数据库如何获取数据表中某一字段的值,第1张

你的查询语句'

c1:

q1:TAdoconncetion。

不知道你是什么语言;c1openrecordset:=

q1;;),delphi的例子给你text;

test1;

q1sqlopen对于返回的记录集对象;字段名称'text

fieldbyname('

q1:TAdoquery,通过字段名来引用就可以了:='

你这个问题问的很没必要啊,问出这样的问题说明你的ado链接数据都没怎么学啊。。

要查找某行某列的数值,首先要定位行,Movenext,等等函数可以实现行定位,然后定位列,这儿要根据列的字段来查询,getcollect(“字段”);具体的请自己详细查看数据库ado *** 作

摘 要: Visual Basic提供了DAO、RDO、ADO三类数据库编程接口,本文对应用ADO技术进行数据库编程时的一般步骤及数据源连接和数据记录的添加、删除、修改、查询的方法做了探析。

关键词: Visual Baisc ADO 数据库编程

1引言

前端开发工具+后台数据库是许多应用程序采用的开发模式。前端开发工具的优势在于其良好的应用程序界面设计能力,而后台数据库具有强大的数据管理功能,提供后台的数据支持。Visual Basic(VB)即是近年来被普遍采用的前端开发工具之一,VB提供了丰富的数据库访问接口,加上其可视化、面向对象、采用事件驱动方式的特点,使其受到广大程序开发人员的喜爱,并被大中专院校选为计算机及相关专业的必修课。

2Visual Basic数据库访问技术概述

在VB数据库编程中如何将后台数据与应用程序窗体中的数据绑定控件连接起来呢?VB提供了三类数据访问接口。

21 DAO(Data Access Objects)接口技术。

DAO是Microsoft推出的第一个基于面向对象技术的数据库访问技术,DAO采用Jet引擎和ODBC两种方式访问数据库。

22 RDO(Remote Data Objects)技术。

RDO是建立在ODBC基础上的面向对象的数据访问技术,即一般采用ODBC方式访问数据库。

23 ADO(ActiveX Data Object)技术。

ADO是微软在DAO、RDO之后提出的新一代数据库应用程序开发接口,是建立在OLEDB上的高层数据库访问技术。OLE DB是一个低层的基于COM 的数据访问接口,它向应用程序提供了一个统一的数据访问方法,用它可以访问各种数据源。ADO封装了OLEDB所提供的接口,ADO对象可以使用户通过OLE DB Provider访问和 *** 纵数据库服务器中的数据。ADO可以实现对关系型数据库和非关系型数据库的访问,与DAO、RDO相比,ADO具有较少的对象、更多的属性、方法和事件实现对各种数据源的访问,因此ADO技术目前成为VB数据库应用的主流技术,我们将重点介绍该技术。

VB中ADO技术访问数据库具体有两种途径,即ADO控件(实际为ADO对象封装而成)和ADO对象两种方法访问数据库。

ADO控件使用简便,用户只需编写很少的代码,就可实现数据的添加、修改、删除等 *** 作,比较适合于初学者或小型的数据库应用程序,但灵活性较差。而ADO对象功能非常强大,适合于熟练的用户或较为复杂的应用程序。

3ADO控件数据库编程

31 ADO控件实现数据库编程的一般步骤。

311添加ADO控件到时VB工具箱。由于ADO控件是ActiveX控件,使用时就首先添加到VB工具箱中。方法为:选择“工程/部件”命令,在部件对话框中,选中Microsoft ADO DATA Control 60(OLEDB)复选框,然后确定即可。

312在应用程序窗体中添加ADO控件和数据绑定控件(常用的数据绑定控件有TextBox、CheckBox、DataGrid、MSHFlexGrid等)。

313用ADO控件连接数据源。方法是:右单击ADO控件,选“属性”命令,打开“属性页”对话框进行相应设置连接数据源。具体连接方式有三。

>使用Data Link文件连接:该方式表示采用一个ODBC文件数据源连接文件完成,要求事先在控制面板中应创建好文件数据源(文件DSN)。

>使用ODBC数据资源名称:此方式表示连接至一个ODBC用户数据源,要求事先在控制面板中创建好用户数据源(用户DSN),使用时直接在ADO控件“属性页”ODBC数据资源名称下拉列表中选择该数据源即可。

>使用连接字符串:这是最灵活也是最常用的方式,单击“生成”按钮,按照提示依次选择“OLE DB提供程序”、“选择输入数据库名称”,然后单击“记录源”选项卡,设置命令类型,命令类型告诉提供者Source属性是一条SQL语句(adCmdText)、一个表的名称(adCmdTable)、一个存储过程(adCmdStoreProc)还是一个未知类型(adCmdUnknown)。

使用连接字符串的方法,除上述做法外也可直接在Form_Load()事件代码中通过ADO控件的ConnectionString属性、RecordSource属性、Refresh属性实现数据源连接。强烈建议较熟练用户采用本方法,实际代码可参照如下:

Private Sub Form_Load()

Adodc1ConnectionString="Provider=MicrosoftJetOLEDB40;Data Source="& AppPath &"\学籍管理mdb;Persist Security Info=False"

Adodc1RecordSource="select from学生信息"

Adodc1Refresh

Set DataGrid1DataSource=Adodc1

End Sub

314设置数据绑定控件的DataSource、DataField等属性,将数据表与相应的数据显示控件进行绑定。例如窗体中有文本框控件Text1,如要和数据表中字段绑定,则应设置DataSource属性值为“Adodc1”,DataField属性的值应设置为相应数据表的字段名。

315编写事件代码。为控件编写实现相关功能的代码。

32 ADO控件编程中增、删、改、查的实现。

321记录的增加。当在窗体中单击增加按钮时添加记录,在窗体数据绑定控件中输入记录内容后,单击保存按钮保存。实现此功能则在增加按钮的Click事件代码中的关键语句为:Adodc1RecordsetAddNew,该语句调用AddNew方法在记录集中添加一条新记录,并且该记录成为当前记录,然后在数据绑定控件中输入相关数据。而在保存按钮的Click事件代码中的关键语句为:Adodc1RecordsetUpdate,该语句调用Update方法用新输入的记录值更新当前记录至相应的数据库表中,即可完成数据的修改。

增加一个tquery连接dbf表,即源数据表

再增加一个tadotable或者tadoquery,将其属性:

lockt

ype

设置为ltbatchoptimistic(批量更改模式),连接到sql的表中即目标数据表

然后,

遍历tquery中的数据,将需要的纪录追加到tadotable或者tadoquery中,

最后提交tadotable或者tadoquery的更改(在循环外)

完成

即使只有一条记录,如果m_pRecordset->MoveNext();,就不会满足while(!m_pRecordset->adoEOF)退出的条件,程序就死循环了。 界面无任何响应

例如一个表INFO的字段有:user,password,question,answer

Dim cn As New ADODBConnection '定义数据库的连接

Dim rs As New ADODBRecordset

''''

这里连接数据库

''''

'查询语句

SQL="select from INFO where user='账号"

rsopen SQL

rsmovefirst

pw=rsFields(1)Value '''这就是密码

或者

pw=rsFields("password")Value '''这就是密码

可用ADO数据控件通过其属性RecordSource赋于SQL查询语句获取,然后取其属性Recordset(0)值得到。

chaxun1 = "select sum([数量]) as HJ from mdlk_sj where 日期 between '" '" & Text3Text & "'"

chaxun2 = Text4Text & "' and '" & Text3Text & "'"

mdh1 = chaxun1 & chaxun2

Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=D:\hxrkgl_scb\rkglsjk\hxrkglmdb;Persist Security Info=False"

Adodc1RecordSource = mdh1

Adodc1Refresh

If Adodc1RecordsetRecordCount>0 Then

Text1 = Val(Adodc1Recordset(0)

End If

Sql Server保存Image字段的值是以2进制数据保存的, 直接拿出来也可以, 如果要拿出来之后以显示的话, 需要Image控件, *** 作步骤为:

1创建内存流 用来保存数据 MS:=TMemoryStreamCreate; M_JPEG:=TJPEGIMAGECreate;

2先取出数据 TBlobField(FieldByName(Image_Field))SavetoStream(MS);

3M_JPEGLoadFormStream(MS); 加载流之前需要将流的指针移动到最前否则读取内存报错 Position:=0

4ImagePictureBitMapAssign(M_JPEG);

这样就能显示出来了。

需要注意的是一般来说要知道的格式, 在加载到控件上的时候, 有时需要知道的格式用不同的方法加载。

以上就是关于用ADODB连接数据库如何获取数据表中某一字段的值全部的内容,包括:用ADODB连接数据库如何获取数据表中某一字段的值、vc 下 ado 怎么取多字段记录集、[Visual,Basic中ADO编程技术探析]ADO编程技术等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9669295.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存