SQL 上下两sql 新增多条数据据何为一sql 新增多条数据据

SQL将两条相似的数据合并为一条数据?
[问题点数:20分,结帖人kart15]
SQL将两条相似的数据合并为一条数据?
[问题点数:20分,结帖人kart15]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。数据库有两条重复的数据,我查出来只想让它显示一条,该怎么写SQL语句?_百度知道
数据库有两条重复的数据,我查出来只想让它显示一条,该怎么写SQL语句?
提问者采纳
按照name进行组查询select name from table group by name
提问者评价
非常谢谢您!
其他类似问题
sql语句的相关知识
按默认排序
其他2条回答
啊oracle select distinct a.* from tab a
我用的是sql05,我要的是,有两条数据name相同,我只想让它显示一条,不想显示相同的name,怎么弄?谢谢!
是取name相同记录两条中的一条么?SELECT *
FROM (SELECT a.*, row_number() over(PARTITION BY NAME ORDER BY 1) rn
FROM tab a) WHERE rn = 1是不是这个意思?
distict + group by
两条数据,name相同,我只想让它显示一个,不想显示相同的name,怎么弄?谢谢!
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁远程数据对象_百度百科
关闭特色百科用户权威合作手机百科 收藏 查看&远程数据对象本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
远程数据对象 是微软的一个应用程序接口,让写Windows应用程序的程序师能够进入微软和其他的数据库供给者的数据库。然后,程序中 RDO 陈述使用微软的底层数据存取对象 (DAO) 来实际进入数据库。 数据库供给者写入 DAO接口。 RDO 已经发展到微软为新的程序推荐的程序接口--- ActiveX 数据对象。 ADO也提供进入非关系数据库的接口而且比较容易使用。
远程数据对象 RDO(RemoteDataObjects)是一个到 ODBC 的、面向对象的数据访问接口,它同易于使用的 DAO style组合在一起,提供了一个接口,形式上展示出所有 ODBC 的底层功能和灵活性。尽管 RDO 在很好地访问 Jet 或 ISAM 数据库方面受到限制,而且它只能通过现存的 ODBC 驱动程序来访问关系数据库。但是,RDO 已被证明是许多 SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。RDO 提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。
RDO(Remote Data Objects)处理一组对象以完成远程资料的存取,它是在ODBC API和驱动程序之上的一个可程序的薄层(thin code layer),用以建立资料结果集(result set)和光标,以及用最小的工作站资源执行复杂的程序。
注意RDO祇能在32位的操作系统上执行(如Windows95或NT)
l RDO的特性 介绍RDO的重要特性
l 以RDO写程序 介绍RDO对象模型
l 和Jet/DAO之间的比较 RDO的特性如何与DAO对应
l 初始化rdoEngine对象 rdoEngine对象的概观与如何去设定它的属性
l 建立rdoEnvironment对象 rdoEnvironment对象的概观以及如何应用它的属性来做数据存取
l 使用RDO来执行查询 如何建立以及执行有参数的查询
l 使用RDO来执行stored procedure 介绍如何与有特殊需求的store procedure一起运作
l 建立RDO光标 介绍如何建立RDO光标
l 使用RDO结果集 介绍如何使用从查询传回的资料以及参数
l 使用ODBC API函数 介绍RDO支持的ODBC handles
l 使用RemoteData控件(control) 如何用RemoteData控件处理数据
RDO的特性和客户端/伺服端的设计目标
使用RDO时,程序可以直接存取ODBC的资料源而不需要本地端的查询处理。这会在存取远程的数据库引擎时大大地提高效率和弹性。
使用RDO可以得到下列的好处。特别是在客户端/伺服端架构
l 提高自远程ODBC资料源存取资料的效率。
l 建立简单而无光标的结果集,或是较为复杂的光标。
l 执行查询以及同时运作多结果集:经由一个单一的查询可以传回多个结果集,这可以提高查询处理器和系统资源的使用效率。例如可以使用一个查询来提供多个显示资料对象的资料(如data-driven的list box或查询一起运作,可以正确的设定scroll bar和progress status bars。
l 以单一批次(batch)执行多个action查询:在很多状况下可能是以单一的SQL述句来执行多个新增(INSERT)、删除(DELETE)和修改(UPDATE)的动作,这可以减少网络和远程处理的负载,同时让处理交易(transaction)更方便。
l 可以使用参数输入stored procedure,以及传回结果:从stored procedure输出参数是从Oricle的stored procedure上获得运算结果的唯一来源。这会在单一查询以及许多管理的运作上有用。在很多状况下,必须藉由stored procedure传回的结果来判断所执行的运作是否成功。RDO经由rdoParameter对象来处理这些输入、输出的参数。
l 限制处理以及传回的记录数:在某些状况下,使用者所选的记录数目可能超过实际运作的量,RDO可以设定经查询传回的记录数目量。以这种方式可以预测响应时间,也更容易管理工作站和服务器的资源。以同样的机制可以限制修改查询(data-modification query)所能影响记录数的量。
l 利用伺服端光标:一些伺服端数据库引擎也提供了光标的运作,在某些状况下使用伺服端光标可以减轻网络负荷以及工作站的资源以提升效率。
l 监控远程资料源所产生的讯息或错误但不妨碍正在执行的查询。
l 执行异步查询:能够使用同步、异步事件驱动((event-driven)异步等处理,使程序不会在执行大量查询时停滞。且不需要使用Polling机制。在异步查询期间,Connection会一直保留着。
l 在初始设定的查询截止时间到时,仍可继续:当查询的运作时间超过QueryTimeout属性时,RDO允许继续另一个查询等待时间,而不直接停止查询。
l 提供改良的多形(polymorphism)和“free-standing”的对象产生方式:RDO支持以DIM宣告且产生对象的方式,这种free-standing的对象可以被连结到其它的对象以执行运作。例如,可以独立的产生rdoQuery和rdoConnection对象,而后联合在一起运作。
l 提供分离的结果集:RDO允许产生静态的读写光标而后中断与远方服务器的连结。在rdoResultset对象中的资料仍可存取,一但以另一个rdoConnection对象再连结上远程伺服机时,可以以BatchUpdate方法以完成这种离线(offline)的改变。
l 产生和管理开放式的批次更新:当ODBC光标链接库提供开放式更新时,它是以一笔接着一笔的方式而非批次更新。这种做法需要较多的网络和服务器的频宽。RDO提供新的客户端批次(Client Batch)光标,将一群被新增,修改和删除的记录集合起来。这种方式祇需要与伺服端连结一次,因此可以提升效率
l 让Stored Procedures使用更容易:RDO允许将可输入参数的查询和stored procedure当成rdoConnection对象的方法。可以像使用VB函数传入参数的方式一样传入参数而不需要rdoParameter对象。
l 提供之下的ODBC handles:当需要更直接,更有弹性的资料存取时,RDO提供直接存取ODBC环境(environment),connection和statement 等handles。
l 减少内存使用
以RDO写作程序【2】
  RDO对象和集合提供了写作程序和维护远程ODBC资料的的架构。对象和集合有描述数据库特性的属性和操作数据库的方法。使用这种包含子对象的架构可以建构出对象与对象或对象与集合等等的关系,而这些关系表现了数据库系统的逻辑结构。
除了rdoEngine对象外,其余所有的对象都是由相关的集合在维护。当RDO在第一次存取而被初始化时,会自动产生rdoEngine对象以及内含的rdoEnvironments(0)对象。
RDO的程序写作结构与DAO相似,但更注重在stored procedure的操作和传回的资料集,相对的对ISAM资料的存取则较不重视。
下表为各对象的简介
最基础的对象,当第一次存取RDO对象时会自动产生。
处理ODBC错误以及RDO所产生的讯息。也是自动产生的。
rdoEnvironment
对不同使用者定义逻辑上的connections和transaction的范围,包含被开启的或未开启但拥有的connections,提供仿真transaction的机制,提供一个security context来执行data manipulation language(DML)。rdoEnvironment(0)会自动产生。
rdoConnection
代表一个连到远程资料来源的开启的connection,或是一个拥有但未开启的对象,该对象可以在稍后开启。
代表一个储存着的基本资料表(base table)的定义或是一个view
rdoResultset
代表执行一个查询后所传回的记录
代表拥有一般的资料型态以及属性的一个数据域位
一个可以拥有参数的SQL查询
rdoParameter
代表输出入的参数,关联于rdoQuery对象
RDO对象描述rdoEngine最基础的对象,当第一次存取RDO对象时会自动产生。rdoError处理ODBC错误以及RDO所产生的讯息。也是自动产生的。rdoEnvironment对不同使用者定义逻辑上的connections和transaction的范围,包含被开启的或未开启但拥有的connections,提供仿真transaction的机制,提供一个security context来执行data manipulation language(DML)。rdoEnvironment(0)会自动产生。rdoConnection代表一个连到远程资料来源的开启的connection,或是一个拥有但未开启的对象,该对象可以在稍后开启。rdoTable代表一个储存着的基本资料表(base table)的定义或是一个viewrdoResultset代表执行一个查询后所传回的记录rdoColumn代表拥有一般的资料型态以及属性的一个数据域位rdoQuery一个可以拥有参数的SQL查询rdoParameter代表输出入的参数,关联于rdoQuery对象注意:要支持分布式交易(distributed transaction)需要搭配SQL Server6.5版以及Distributed Transction Coordinator。
注意:RDO 1.0版提供的rdoPreparedStatement对象和rdoPreparedStatements集合,在RDO 2.0版仍然支持,但是是为了向前兼容,所以在RDO 2.0版后最好改用rdoQuery对象和rdoQueries集合。
产生远程资料对象
RDO对象可以经由父对象产生或经由Dim述句。如果是经由Dim as New述句产生的RDO对象不会被加入到相关的集合中。下表列出如何产生主要的RDO对象RDO对象产生方式rdoEngine自动产生rdoEnvironment第一个instance自动产生 rdoEngine.rdoCreateEnvironmentrdoConnectionrdoEnvironment(x).OpenConnection(也可以用RemoteData控件产生) Dim MyCn as New rdoConnectionrdoQueryrdoConnections(x).CreateQuery Dim MyQry as New rdoQueryrdoResultsetrdoQuery(x).OpenResultset rdoConnection(x).OpenResultsetrdoParameter会为有参数的查询自动产生rdoTable当被参照时自动产生rdoError当ODBC错误发生或有讯息时自动产生虽然RDO与DAO大致相似,但RDO是专门操作关系型数据库的对象,且没有自己的查询处理(processor),它完全靠资料来源处理查询并产生结果集 以下是RDO与DAO/Jet 的比较表
相对的DAO/Jet对象
rdoEnvironment
rdoConnection
Connection
rdoResultset
Table-type
Keyset-type
Dynaset-type
Dynaset-type
Static-type(r/w)
Snapshot-type(r/o)
Snapshot-type(r/o)
Dynamic-type
Dynamic-type
Forward-only-type
Forward-only-type
Forward-only-type
(cursorless)
(cursorless)
rdoParameter
一些DAO的对象、方法、和属性是设计来操作ISAM架构下的Jet数据库。例如可以利用索引(Index)对象和Seek方法来处理ISAM的索引以及找寻记录。但是因为RDO所使用的后端数据库处理索引的方式完全不同,所以RDO并不需要去支持这些索引的运作。 DAO也支持建造和修改数据库架构(schema),参照的完整性以及安全上的维护。这些对RDO来说都是后端数据库服务器在维护的,所以本身并不提供相关的对象或方法。 但仍然可以利用RDO的make-table查询;以标准的SQL述句来执行动作查询(action queries)以产生、修改或删除数据库和资料表。同时也可以以复杂的stored procedures还处理数据库的架构和执行为或的工作,这些是DAO做不到的。
RDO对象相对的DAO/Jet对象rdoEngineDBEngineDBEngeinerdoErrorErrorErrorrdoEnvironmentWorkspaceWorkspacerdoConnectionDatabaseConnectionrdoTableTableDef不支持不支持索引不支持rdoResultsetRecordsetRecordset不支持Table-type不支持Keyset-typeDynaset-typeDynaset-typeStatic-type(r/w)Snapshot-type(r/o)Snapshot-type(r/o)Dynamic-type不支持Dynamic-typeForward-only-typeForward-only-typeForward-only-type(cursorless)不支持(cursorless)rdoColumnFieldFieldrdoQueryQueryDefQueryDefrdoParameterParameterParameter不支持Relation不支持不支持Group不支持不支持User不支持RDO集合说明rdoErrors内含所有RDO一次运作后所产生的rdoError对象。rdoEnvironments内含rdoEngien之下,所有运作中(active)的rdoEnvironment对象,rdoEnvironments(0)会被自动产生。rdoConnections内含所有在rdoEnvironment对象下开启的rdoConnection对象,或是以Add方法加入的rdoConnection对象。rdoTables内含所有在数据库中预存的rdoTable对象。rdoResultsets内含所有在rdoConnection中开启的rdoResultset对象。rdoColumns内含所有在rdoResultset或rdoTable对象中的rdoColumn对象。rdoQueries内含所有以rdoConnection对象的CreateQuery函式而自动加入的,或以Add函式加入。rdoParameters内含所有经由解析成功的SQL述句所产生的rdoParameter对象。rdoEngine对象是所有RDO对象的最上层对象。它不能被重复产生,以及使用集合来包含。它可以让好几个应用程序共享,但会为每一个参与共享的应用程序产生私有资料区,而不会让应用程序彼此之间互相干扰。属性定义内定值rdoDefaultCursorDriver光标链接库(ODBC、客户端批次、伺服端光标,或是没有)rdUseIfNeeded(伺服端光标)rdoDefaultPassword使用者密码“”(空字符串)rdoDefaultUser使用者帐号“”(空字符串)rdoDefaultErrorThreshold发生多严重的错误才停止-1(不致能disabled)rdoDefaultLoginTimeout建立connection等多久没响应,才放弃15秒做啥。 例如执行了一个统计的查询后,这个讯息会经由rdoErrors集合传回,而应用程序可以经由InfoMessage事件的触发而知道。在大部分的状况下并不需要产生额外的rdoEnvironment对象,内定的rdoEnvironments(0)应该够用。但若应用程序需要更多的交易处理,或不同的帐号密码环境,那就需要以rdoCreateEnvironment方法给予不同的使用者名称、密码来产生另外一个rdoEnvironment对象。这时要给予一个唯一的rdoEnvironment名称,若与已经产生的相同,则会有可捕捉的错误。 内定的rdoEnvironments(0)的名称为”Default_Environment”,使用者名称及密码都是空字符串。 若提供了唯一的名子,新产生的rdoEnvironment对象会自动加入rdoEnvironments集合。反之,若以空字符串当name参数的值,则新产生的对象不会加入。 快取(cached)登入信息 若在使用OpenConnection方法时,没有在connect参数设定使用者帐号密码,或是使用RemoteData控件,但未在Connect内指定,则RDO会用rdoEnvrionment的帐号密码建立连结。如下例,会用使用者帐号(Fred)和密码(Blond)在rdoEnvironment对象En内建立连结 Dim En As rdoEnvironment Set En = rdoCreateEnvironment(“”,”Fred”,”Blond”)注意:交易模型并不支持巢状交易(nested transaction),所以不能在前一个BeginTrans还未与CommitTrans或RollbackTrans成对之前再使用一个BeginTrans方法。但若ODBC的资料源本身如SQL Server支持巢状交易,则可以透过SQL述句,叫伺服端进行巢状交易。 当使用ODBC交易时,一个开启的连结并不会影响另一个连结,即使这两个连结是连到同一个数据库的同一个资料表。 捕捉rdoEnvironment交易事件 当rdoEnvironment完成一笔交易后会引发一个事件,可以利用这个事件来管理其它的交易。密码保护的环境。在这个环境下可以开启多条连结与管理多个ODBC交易。 l l 使用OpenConnection方法在rdoEnvironment之内建立一个以上的连结 l l 在rdoEnvironment内使用BeginTrans,CommitTrans和RollbackTrans方法来管理ODBC交易。 l l 使用多个rdoEnvironment对象来建立多个、同时、独立和重叠的交易。 l l 使用Dim X As New rdoConnection来产生一个独立(stand-alone)rdoConnection对象,接着使用Add方法加入到rdoEnvironment对象内的rdoConnections集合。 l l 使用Remove方法将特定的rdoConneciton对象从他的父集合rdoConnections中移除。 l l 使用Close方法来结束环境和连结注意:rdoConnection对象不一定要属于某个rdoEnvironment,它可以独立产生。在参照一个远程数据库内的资料之前,要先建立一条连结到资料源。这个资料源可以是远程的数据库服务器,像MS SQL Server或Oracle,或其它支持适合的ODBC驱动程序的数据库。 RDO建立连结有好几种方法,与DAO不同的是,它并不为应用程序管理这些连结;仅仅收集要传给SQLDriverConnect函数的参数,和使用SQLDisconnect函数来关掉连结。RDO并不快取这些资料以分享给使用相同DSN来建立连结的后来者。当使用RDO的Close方法来关掉连结时,它立刻就会被关掉。 可以以下的方法开启连结 l l 使用RemoteData控件自己的Connection属性来建立连结对象rdoConnection l l 宣告一个rdoConnection对象,再以rdoEnvironment对象的OpenConnection方法开启后赋予 l l 用Dim 变量名 As New语法产生一个独立的rdoConnction,设定它的属性后再以EstablishConneciton方法建立连结 l l 无论在独立的rdoConnection或是使用过Close方法的rdoConnection都可以用EstablishConnection方法建立连结 在不同的情况下,可以选择不同的方法。例如要对一些远程数据库完成象,再透过rdoQuery对象的ActiveConnection属性将rdoConnection对象设定(Assign)给这些rdoQuery。在大部分状况下,RemoteData控件建立连结较为简单。 以上的这些方法都是要与资料源如SQL Server,或Oracle;建立一个实体的连结(link)。要建立这个连结需要提供资料源的网络位置、驱动程序型态以及一些用来确认使用者身份的选择性参数。 一但建立了连结,可以用它来 l l 使用OpenResult方法来执行一个查询以传回一或多个结果集。 l l 使用Execute方法以执行一个动作查询(action query) l l 产生一个rdoQuery对象,好接着执行参数查询或预存程序。 l l 定义执行一个以上预存程序的查询来当成rdoConnection的方法。 l l 利用rdoResultset对象的ActiveConnection属性连结rdoConnection对象 l l 使用Add方法将rdoConnection加到rdoConnections集合 l l 使用Remove方法将rdoConnection从rdoConnections集合移除ODBC联机字符串参数参数定义DSN=注册ODBC资料来源名称(Data Source Name DSN),如果用了驱动程序参数,则DSN就不要用。UID=在伺服端建立的使用者帐号,以SQL Server来说就是登入的帐号PWD=对应登入帐号的密码。DATABASE=需要的内定数据库(选项)。SERVER=资料来源服务器的网络计算机名称,若操作系统为MS Windows NT,且数据库服务器在本机,则网络计算机名称可用(local)。DRIVER=资料来源的服务器驱动程序名称,以MS SQL Server为例,这里用的是{SQL Server}。若使用了DRIVER参数,就不需要使用DSN。APP=应用程序的名称(选项)。WSID=工作站ID,通常是应用程序所在工作站的网络名称。(选项)。LANGUAGE=SQL Server所使用的国家语言。注意:选项内定行为Network Address以服务器网络名称代替,所以不需要。Network Protocol若是MS SQL Server,内定是Names Pipes。OEMTOANSI switch内定是“Off”。使用Trusted Connection Option内定是“Off”。为Prepared Statement产生预存程序内定是“Off”。安全漏洞。可以改成应用程序直接以某几种的帐号密码登入。若要搭配NT网络系统的DOMAIN安全管理,则上述两个方法的连结字符串内的UID和PWD要保持空白。写法如下 Conn$=”DSN=MyRUID=;PWD=;” 设定内定的数据库 若rdoConnection对象在建立之初,未设定DATABASE参数,则内定使用的数据库可能是注册的DSN内定义的数据库;或是伺服端系统管理员定义的数据库。但内定的数据库可以藉由执行Transaction SQL的“USE予以更改。范例如下 cn.Execute “USE Pubs” 传递连结字符串给RDO或RemoteData控件 可以以下列方式传递连结字符串给RDO或RemoteData控件 l l 执行OpenDatabase方法时,设定Connect参数。 l l 设定RemoteData控件的Connect属性。 l l 当rdoConnection使用EstablishConnection方法时,设定Connect属性 若使用RemoteData控件,则有一些属性都与连结有关,但如果Connect属性内有设,其它相关的属性也有设定的下,Connect内的属性会盖过其它的属性。PWD=;")rdoConnection属性内定值设定LoginTimeout15在放弃建立连结前要等多少秒CursorDriverrdUseIfNeeded使用该rdoConnection对象的查询将会用的光标形式Connect“”用来产生连结的ODBC参数—连结字符串Name“”连结时用的ODBC DSNrdoConnection事件何时触发BeforeConnect在呼叫ODBC SQLDriverConnect函数之前Connect在建立连结运作完成后—不一定成功或失败Disconnect在连结被断掉时(disconnect)QueryComplete在异步(asychronous)查询结束时QueryTimeout在查询所使用的时间超过rdoConneciton对象的QueryTimeout属性。WillExecute在RDO准备执行一个查询时。时间间隔用完或查询结束。若输入True,则直接停掉该执行中的查询。注意:当查询查询被激活时,QueryTimeout属性就已经传给ODBC驱动程序,所以若之后才改变这项属性将对已经被产生的查询没有作用。 使用WillExecute事件处理 这个事件会在执行任何查询前先发生,而不管是action或row-returning查询。可以藉由捕捉这个事件做执行查询前的最后修正工作项查询而RDO会产生可捕捉的错误。这个事件可以用来过滤某些查询是否可以执行。 程序范例如下 Option Explicit Dim WithEvents cn As rdoConnection Dim rs As rdoResultset Dim SQL As String Dim col As rdoColumn Public Qd As rdoQuery Dim dTime As Date Private Sub cn_Connect(ByVal ErrorOccurred As Boolean) If Not ErrorOccurred Then MsgBox "连结建立完成" Else Dim er As rdoError Debug.Print Err, Error$ For Each er In rdoErrors Debug.Print er.Description, er.Number Next End If End Sub Private Sub cn_QueryComplete(ByVal Query As RDO.rdoQuery, ByVal ErrorOccurred As Boolean) If Not ErrorOccurred Then MsgBox Str(Second(Now - dTime)) Debug.Print Qd(0) Else Dim er As rdoError Debug.Print Err, Error$ For Each er In rdoErrors Debug.Print er.Description, er.Number Next End If End Sub Private Sub cn_QueryTimeout( _ ByVal Query As RDO.rdoQuery, Cancel As Boolean) Dim ans As Integer ans = MsgBox("Query Timed out... Press Retry to continue waiting", _ vbRetryCancel + vbCritical, "Query Took Too Long") If ans = vbRetry Then Cancel = False Else Cancel = True End If End Sub Private Sub RunQuery_Click() On Error GoTo RunQueryEH Qd.QueryTimeout = 5 Set rs = Qd.OpenResultset(rdOpenKeyset, _ rdConcurReadOnly) Exit Sub RunQueryEH: Dim er As rdoError Debug.Print Err, Error$ For Each er In rdoErrors Debug.Print er.Description, er.Number Next rdoErrors.Clear Resume Next End Sub Private Sub cn_WillExecute(ByVal Query As RDO.rdoQuery, Cancel As Boolean) dTime = Now End Sub Private Sub Form_Load() Set cn = New rdoConnection With cn .Connect = "uid=pwd=;database=Pdsn=P" .CursorDriver = rdUseClientBatch .EstablishConnection Prompt:=rdDriverNoPrompt, ReadOnly:=True, Options:=rdAsyncEnable .QueryTimeout = 5 End With Set Qd = cn.CreateQuery("LongQuery", "") With Qd .SQL = "{?=call pubs.dbo.VeryLongProcedure}" .rdoParameters(0).Direction = rdParamReturnValue End With End Sub数据库结构(schema),或执行管理的动作(administrative function) l l 执行预存程序来管理结果集、输出的参数或return values l l 使用rdoConnection的Close方法以停止到资料源的连结,同时释放所使用的资源。通常应用程序需要利用查询来完成对远程数据库资料、使用者权限或数据库伺服程序运作的管理。而查询可分为以下两部分 l l 送出一个内含SQL述句描述所需结果集的查询,或参照一个预存程序 l l 处理结果记录,参数和传回值(预存程序回传的部分) 在送出一个查询前,需要问以下的问题以确认查询的目的与效率 l l 应用程序是否需要浏览资料记录?若需要浏览,则是双向的还是祇向前浏览? l l 是否需要更新资料?如果需要,是否可以运作查询直接更改?使用者是否需要权限来修改? l l 有多少使用者会在同时,运作同样的资料?可否控制这些同时执行的应用程序?这些应用程序是否共享资料? l l 查询将会传回多少笔资料?应用程序端的系统是否有能力存放这些记录?网络使否在传这些记录时有频宽的瓶颈? l l 记录是以何种格式传回—书签还是静态资料? l l 查询是否要传参数? l l 这个查询在应用程序运作时会常常被执行,还是仅有一两次? 管理RDO查询 当开启一条连结时,可以在其上执行许多查询,可以参考下述原则使用不同形式的查询 l l 若查询仅仅使用一次,可以用rdoConnection对象的OpenResultset或Execute方法来产生rdoResultset对象,还是直接执行动作查询。这两种选项最后都会经由执行ODBC API的SQLExecDirect函式完成查询,所以可以在使用OpenResultset或Execute方法时,直接在Options参数输入rdExecDirect以直接指定SQLExecDirect函式。 l l 若执行的查询可能会使用一次以上同时要输入参数,则可以CreateQuery方法产生rdoQuery对象。该对象允许多次使用,且在使用时输入不同的参数。一但使用rdoQuery对象,则可以透过这个对象的OpenResultset或Execute方法来产生rdoResultset对象,或是直接执行动作查询。若要改变输入的参数,则可以经由改变rdoParameter对象办到。这种做法会经由ODBC API的SQLPrepare和SQLExecute函式。注意:
新手上路我有疑问投诉建议参考资料 查看

我要回帖

更多关于 sql取前几条数据 的文章

 

随机推荐