我刚做了一个在线程中使用ado的系统,实现方式如下:使用dm来存放
connection
,在各个线程中create
adoquery控件,connection属性设为dm中的connection,在使用完之后别忘了free。另外别忘了同步。好运!
sql设置好用户名跟密码以后比如sa 密码123
打开delphi放一个按钮,然后在控件栏那里选datacontrol,选第一个dbgrid放到form上,选dataaccess里面的第一个datasource,然后选ado——adoconnection放到form上,再选ado——adoquery放到form上。点选adoconnection左边的框体有个connectionstring点"…":d出来的对话框中点Build,然后选择从下数上来第五个,双击或者下一步,填入用户名跟密码(sa 123),在“3选择数据库”那里选择要打开的数据库,选上保存密码,点一下“测试连接”,点OK退出。出来以后继续在左边框体里面找LoginPrompt改成False。到adoquery了,点上它然后在左边框体的Connection那里下拉选择ADOConnection1,然后点选datasource,在左边框体找到dataset下拉选择adoquery1,然后再点选dbgrid,在左边框体找到datasource,下拉选择datasource1。双击刚才创建的按钮,假设你要打开的数据表名叫“销售订单”,输入
adoquery1close;
adoquery1sqlclear;
adoquery1sqladd('select from 销售订单 ');
adoquery1open;
运行,按按钮如果dbgrid有数据显示表示连接成功了,以上所有功能实现均可通过代码或者手工设置。
etChunk 方法
返回大的文本或二进制数据 Field 对象的全部或部分内容。
语法
variable = fieldGetChunk( Size )
返回值
返回 Variant。
ADO NET的设计目标 ADO NET是Microsoft公司发布的新一代数据存取技术 是一个全新的数据库访问模型 使应用程序的开发人员能方便的访问不同的数据源ADO NET提供对SQL Server等数据源以及通过OLEDB和XML公开的数据源的一致访问 数据共享应用程序可以使用ADO NET来连接到这些数据源 并检索 *** 作和更新数据 设计目标 n 支持断开式多层编程模式n 能够与XML紧密集成n 具有能够组合来自多个 不同数据源的数据通用数据表示形式n 具有为与数据库交互而优化的功能 ADO NET体系结构 ADO NET的两个核心组件 ( )DataSet ( )数据提供程序(DataProvider:包括Connection Command DataReader DataAdapter) DataSetu DataSet 是ADO NET的断开式结构的核心组件u 设计目的 为了实现独立于任何数据源的数据访问u 可以用于多种不同的数据源 用于XML数据 或用于应用程序本地数据u DataSet包含一个或多个DataTable对象集合
数据提供程序(DataProvider)设计目标 为了实现数据 *** 作和对数据快速 只进 只读访问 NET框架提供了 个数据提供程序 SQL Server数据提供程序 OLE DB数据提供程序 ODBC数据提供程序 Oracle数据提供程序DataProvider的四个对象a) Connection对象 提供与数据源的连接b) Command对象 使用户能够访问用于返回数据 修改数据 运行存储过程以及发送或检索参数信息的数据库命令 c) DataReader对象 从数据源中提供高性能的数据流 读取数据d) DataAdapter对象 提供连接DataSet对象和数据源的桥梁DataAdapter使用Command对象在数据源中执行SQL命令 以便将数据加载到DataSet中 并使对DataSet中数据的更改与数据源保持一致数据库连接要访问数据库 首先必须建立与数据库的连接使用Connection对象创建和管理连接 连接字符串在建立连接时 通常要提供一些数据源的信息 如数据库的名称 数据库所在物理位置 用户账号 密码等等(和一般连接数据库吗没什么区别)通过Connection对象的ConnectionString属性来设置打开和关闭连接连接的两个主要方法是Open和CloseOpen方法使用ConnectionString属性中的信息联系数据源并建立一个打开的连接Close方法关闭连接 是非常必要的 因为大多数据源只支持有限书目的打开的连接 并且打开的连接占用宝贵的系统资源如果正在使用DataProvider或Command 则不必显示打开和关闭连接 因为当调用这些对象的某个方法(例如DataAdapter的Fill或Update方法)时 该方法将检查连接是否已经打开 如果没有 适配器将打开连接 执行其逻辑 然后再关闭连接 Command对象在用Connection对象成功连接数据库后 可以用mand对象对数据进行 *** 作 如对数据进行增 删 查 改等 *** 作Command对象表示要对数据源执行的一个SQL语句或存储过程DataAdapter对象DataAdapter(数据适配器)用来建立和初始化数据表 并将其填入DataSet对象 在内存中存储数据 DataAdapter的主要方法是Fill 用来将来自DataAdapter中的数据填入DataSet中DataSetDataSet对象是一个存储在内存中的离线数据库 它并未与数据库建立及时的连接DataSet对象专门用来存储从数据源中读出的数据 无论是SQL Server数据库还是Access数据库 在DataSet中存储方式都是一致的 用户无法从DataSet中判断读取的数据库类型DataReader对象如果不需要DataSet所提供的功能 则可以使用DataReader以只读方式返回数据因为节省了DataSet所使用的内存 并省去了创建DataSet并填充其内容所需要的必要处理 所以可以提高应用程序的性能
C#代码示例 [csharp]using System;using System Collections Generic;using System Linq;using System Text;using System Data SqlClient;using System Data;using System Text RegularExpressions;using System Windows Forms;namespace 图书管理 {class BaseOperate{//建立数据库连接public SqlConnection getcon(){string str_sqlcon = data source= ;database=library_sys;uid=sa;pwd= ;try{SqlConnection myCon = new SqlConnection(str_sqlcon) return myCon;}catch (Exception ex){MessageBox Show( 出错了 链接出错 MessageBoxButtons OK) throw ex;}}//执行sqlmand命令 但无返回值public void get(string sqlstring){SqlConnection sqlcon = this getcon() sqlcon Open() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sql ExecuteNonQuery() sql Dispose() sqlcon Close() sqlcon Dispose() }//执行sql语句并返回一个dataset数据集对象public DataSet getds(string sqlstring){SqlConnection sqlcon = this getcon() SqlDataAdapter sqlda = new SqlDataAdapter(sqlstring sqlcon) DataSet myds = new DataSet() sqlda Fill(myds) return myds;}//执行sql语句并返回一个sqlReader类型的对象 用于读取查询的数据public SqlDataReader getread(string sqlstring){SqlConnection sqlcon = this getcon() SqlCommand sql = new SqlCommand(sqlstring sqlcon) sqlcon Open() SqlDataReader sqlread = sql ExecuteReader(CommandBehavior CloseConnection) return sqlread;} lishixinzhi/Article/program/net/201311/12962
vbnet
首先引用Access adonet命名空间
imports systemdataoledb
连接数据库代码
dim connstr as string="provider=microsoftjetoledb40;data source='" & dbpath & "'"
上面是数据库连接字符串 dbpath 是数据库路径
dim conn as new oledbconnection(connstr)
connopen
打开数据库连接
dim sql as string="select from A"
dim cmd as new oledbcommand(sql,conn)
dim dr as oledbdatareader=cmdexecutereader
textbox1text=drgetstring(1)
drclose
connclose
读取A表中第二个字段的内容到文本框。
关闭数据读取器
关闭数据库连接
一、使用DSN连接
使用ODBCDSN连接数据库有两种方式,一种为SYSTEMDSN、一种为DSN文件,因此在使用DSN连接方式之前必段创建一个SYSTEMDSN或DSNFILE
1、ODBC-DSNoConn
Open"DSN=AdvWorks;"&_"Uid=Admin;"&_"Pwd=;2、ODBC-FileDSNoConn
Open"FILEDSN=c:somepathmydb
dsn;"&_"Uid=Admin;"&_"Pwd=;"二、不使用DSN连接方式1、ODBCDriverforMySQL(viaMyODBC)---连接一个本地数据库oConn
Open"Driver={mySQL};"&_"Server=;"&_"Option=16834;"&_"Database=mydb;"---连接一个远程数据库oConn
Open"Driver={mySQL};"&_"Server=db1
database
com;"&_"Port=3306;"&_"Option=131072;"&_"Stmt=;"&_"Database=mydb;"&_"Uid=myUsername;"&_"Pwd=myPassword;"2、OLEDBProviderforSQLServer连接这个链接只需写好连接字符串,格式:conn
="Driver={sqlserver};server=服务器名;uid=登录名;pwd=密码;database=数据源"使用无源连接优点较多:可以不创建DSN,这样就能简化客户应用程序的设置和安装
不必在系统注册表中查找DSN,加快连接速度
更有效到控制服务器及其它连接参数,从而提高应用程序和系统的安全性
当然还有其他的连接方式,以后遇到了再补充
<p>如果是
access
2003
或者以前的版本,驱动一般自带,也可以单独安装
ado
驱动。</p>
<p>如果是
access
2007及以后的版本,需要单独安装,附件即是。</p>
<p>
</p>
<p>
</p>
以上就是关于delphi 如何用ADO进行多线程查询数据库全部的内容,包括:delphi 如何用ADO进行多线程查询数据库、DELPHI 如何用ADO连接MYSQL数据库、怎么用ADO访问SQLite数据库中的二进制数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)