您好,请教几个问题,谢谢(100分)

  • 主题发起人 主题发起人 wjlsnet
  • 开始时间 开始时间
W

wjlsnet

Unregistered / Unconfirmed
GUEST, unregistred user!
您好,请教两个问题。望各位赐教

1. 数据库相关,游标在数据库有哪些用途? 也就是说,在哪些情况下会想到使用游标 ?
游标 在功能上可否用 Delphi中的
while not ADOQuery1.eof do
begin
......
next;
end;
这种结构来替换? 还有,游标说到底是不是一个指针?

2.在 Sql Server 2000中,可不可以在一个语句中用到2个或者多个数据库? 如:
两个库db1,db2, 现在取db1中的表soucetable1中的字段 k1 存入 db2中的表
targettable1 ?该怎样写 ? 我用 数据库.数据表 不行

3. TADOQuery .create(nil/self) 中, nil/self 指什么,它与具体创建的对象有何关系?

4. COM 到底为何物? 一种接口特殊的组件? COM就是接口? COM是一个DLL或者可执行文件?
COM 有何用途?

谢谢.
 
我只能回答你几个
2:不是 “数据库.数据表” 应该是 数据表.字段名
3:nil 等同于C++中的 NULL
self 等同于C++中的 this
至于COM,你就自己找本书好好看看,会有帮助的
 
3中nil是个指针,null是代表空值

COM类似ActiveX,它也可以作成SDK的形式,我正在做,嘿嘿
 
2. databasename..tablename可以访问别的数据库中的表(或者databasename.dbo.tablename)
3. 哪个参数指定你所创建的控件的Owner,也就是所有着,当所有者被释放时,他拥有的控件也被释放。
一般是这样吧。哪个参数可以指定为Nil。然后你使用完后,要free控件,否则浪费空间
 
wjames:
谢谢你的回答。
2. 我要的就是在两个或多个数据库中操作,我不知道Sql Server 2000是不是支持一条语句中
引入多个数据库
3.这个我知道, 我想问的是:
TADOQuery .create(nil/self) 中, nil/self 指什么,它与具体创建的对象有何关系?
更重要的是 nil / self 与 被创建的对象间的关系 ,有时这儿也可以写为: Application
,这时 又怎么解释?
4. COM 到底为何物? 一种接口特殊的组件? COM就是接口? COM是一个DLL或者可执行文件?
这些说法都是我在不同的书上看到的,我不明白,怎么这么多说法,故请教

rockjie:
“COM 到底为何物? 一种接口特殊的组件? COM就是接口? COM是一个DLL或者可执行文件?“
---您认同这些说法吗?

twos:
2 . 我试过了,DatebaseName.TableName 不行
3. "所有者" 是哪种意义上的所有? 只有“if Ower Distory then Distory it “的含义吗?


望继续指导
 
1.游标是一个查询结果集,你应该将它视为一个对象,或者视为视图,
内有查询的结果,只不过有一个指针表示操作的位置。游标分为服务器游标和
客户端游标。服务器游标由服务器创建、管理,客户端或者存储过程通过Fetch
、Update、Delete命令才操作游标。客户端游标,是应用程序或者客户端驱动
程序向SQL服务器发送SQL语句,将数据全部或一部分取回本地缓存,然后随用
户滚动、操作。

2.SQLServer支持引用多数据库,你的问题可能是没有正确给出数据表
标识符:数据库名.用户名(模式名).数据表名.

3.TADOQuery是TComponent的继承类,TComponent的Create构建方法接
受TComponent类的对象为参数,该参数将成为被创建对象的所有者。
 
所谓宿主,就是你说的只有“if Ower Distory then Distory it “的含义
 
Com是一种应用程序或模块间调用的接口,也就是程序1提供接口(函数或过程),
程序2可以调用这个接口实现一定的功能或者只是通讯,而不必理会程序1程序2各是什么
语言编写的。
 
chillkwanjane:
谢谢您。 我用您讲的 DatabaseName.UserName.TableName 可以使用多表了,谢谢。第一个问题您也
给我许多参考,谢谢;
第三个问题: 就拿我的例子来说:
TADOQuery .create(nil/self) ,您认为 nil / self 都是TComponent类的特殊对象?
那么:TADOQuery .create(Application) 该怎么解释? 还有, "所有者" 是哪种意义上的所有?
只有“if Ower Distory then Distory it “的含义吗?


望大家继续指导
 
TADOQuery .create(Application)的含义是ADOQuery控件是由应用程序对象创建,而
TADOQuery .create(Nil)则是由类TADOQuery自己创建,简单的描述就是这样。
 
VB里面的好像是ADO3.5,这就是COM!组件就是接口集!就是COM;接口中的方法和属性就包含在
COM中!
一种接口特殊的组件, COM就是接口, COM是一个DLL或者可执行文件.都正确
 
Sender--意义:指本对象。Sender在什么对象相关代码里,那么Sender就是什么。
Self--意义:指本类,也就是Self被引用的类。比如若在类TMyClass内引用了Self,那么Self=TMyClass.
Owner--意义:哪个对象释放我的内存啊?

如:Pan:=TPanel.Create(Self);其中Create的参数是:AOwner:TComponent。Owner释放Pan的内存。因为窗口释放Pan的内存,但窗口类的对象是Self.一般给Owner传Self就可以。
比如:
代码段一:
pan:=TPanel.Create(Self);
with Pan do begin
try
Left:=20;
Top:=20;
parent:=Self; //Parent:=Form1也可以。
Visible:=true;
ShowMessage('Created');
finally
Pan.free;
end;
end;
-----------------------------------------------------
Parent--
意义:此对象包括在哪个对象里那?
说明:若组件不是从TControl继承来的,那么在创建组件后不必声明此属性。
 
多人接受答案了。
 
后退
顶部