说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在DELPHI中使用ADO对象存取ODBC数据库

HTML文档下载 WORD文档下载 PDF文档下载
在DELPHI中使用ADO对象存取ODBC数据库

作为一个ASP爱好者,笔者经常在ASP页面中使用ADO对象操作ODBC数据库,觉得用ASP创建WEB应用系统确定挺方便的.虽然在编程生涯中,笔者更喜欢Borland系列产品,对微软产品有点排斥,对ASP却是例外.某天,灵机一动,ADO对象是一个标准OLE对象,如果在DELPHI应用程序中能利用ADO操作数据库,应该挺不错.尤其在用DELPHI做网络数据库应用程序时,如果所在的WEB站点是WINNT站点并且支持ASP页面,就可以用ADO对象访问ODBC数据库,而不用把那么大的BDE再上载到站点上去,这样就可充分利用DELPHI和ASP的编程优势,做出更好的ISAPI/NSAPI/CGI.

经过编程和测试,在DELPHI中可以成功地用ADO对象存取ODBC数据库,现将使用经验写出来,与大家共享,让我们多一个访问ODBC数据库的方法.

在32位的DELPHI中,可以声明一个variant变量(如AVariant),然后通过CreateOleObject 创建一个OLE对象,如AVariant:=CreateOleObject('ADODB.Connection')可以获得一个数据库连接对象的实例,然后就可以利用该对象的方法和属性来操作ODBC数据库了.

下面简单介绍一下访问ODBC数据库所用到的ADO对象及其方法和属性.

1.数据库连接对象(ADODB.Connection)

该对象用于与ODBC数据库建立连接,所有对数据库的操作均通过该连接进行.

数据库连接对象ADODB.Connection的作用象Delphi中的TDatabase对象.

建立一个连接对象的方法为(AConnection为Variant类型变量):

AConnection:=CreateOleObject('ADODB.Connection')

用于建立连接的方法为Open,使用语法为(以对象AConnection为例):

AConnection.Open( ConnectionString

UserId

Password )

三个参数均为字符串类型,其中UserId和Password为用户名称和用户密码,用来访问。

数据库时使用,可以省略,因为在ConnectionString同样可以指定用户名称和用户 密码.ConnectionString是用来说明ODBC数据源信息的字符串,其格式为:

'Provider=ProviderName;DSN=DSNName;

DRIVER=driver; SERVER=server;

DATABASE=database;

UID=user; PWD=password'

其中:

Provider:数据提供者,默认为MSDASQL,为微软OLEDB,通常省略

DSN :要打开的数据库对应的OBDC系统数据源(DSN),是可选参数

DRIVER :要打开的数据库所用的驱动程序名称,如Access对应

Microsoft Access Driver(*.mdb),是可选参数

SERVER:要打开的数据库所在的服务器名称,本机可用(local),是可选参数

DATABASE:要打开的数据库名称,是可选参数

UID :用户名称,用来访问数据库,是可选参数

PWD :用户密码,用来访问数据库,是可选参数

以上参数均为可选参数,但必须提供足够的信息来描述一个系统数据源。

假如已经定义了一个ODBC的系统DSN,名称为MyDsn,那么就可用以下语句建立一个数据库连接:

AConnection.Open('DSN=MyDsn');

为了防止DSN不存在或其设置被他人修改时造成应用程序运行错误,可以用ADODB.Connection创建一个临时ODBC数据源,这样可以保证我们使用的系统DSN的参数设置是正确的.下面的语句可以创建一个临时ODBC系统DSN,对应一个ACCESS数据库,路径为

C:\Inetpub\wwwroot\test.mdb

AConnection.open('Driver={MicrosoftAccess Driver (*.mdb)};DBQ=

C:\inetpub\wwwroot\test.mdb')

建立一个ADODB.Connection后,如果不需要返回操作结果(如删除,修改,更新等操作)就可以对数据库进行正常的SQL操作了,此时应用ADODB.Connection的另外一个方法Execute,使用语法为:

AConnection.Execute( strSQL );

其中strSQL为执行操作的SQL语句,如删除操作可以为:delete from wfjcommu 用AConnection.Close关闭一个数据库连接.

2.数据集对象(ADODB.RecordSet)

如果要执行查询操作并返回查询结果,或者要更方便地操作数据表,就需要用到数据集对象了.

数据集对象ADODB.RecordSet的作用象Delphi中的TTable或TQuery对象.

建立一个数据集对象的方法为(ARecordSet为Variant类型变量):

ARecordSet:=CreateOleObject('ADODB.RecordSet')

从数据表取得数据的方法为Open方法,具体使用方法为:

ARecordSet.Open( strCommand

ActiveConnection

intCursorType

intLockType

intCommandType );

其中: strCommand:字符串,为命令参数,可以是一个Table名称,可以是一个SQL语句,也可以是一个服务器上的存储过程(StoredProc)名称,具体需要后面的参数intCommandType来指定.

ActiveConnection:要使用的数据库连接,是一个ADODB.Connection对象.

intCursorType:长整数,数据集的Cursor类型,可选参数,请参见程序中注释。

intLockType:长整数,对数据表的加锁类型,可选参数,请参见程序中注释。

intCommandType:长整数,命令参数的类型,用来指明strCommand的作用,可以指定strCommand为命令(如SQL语句)或数据表(TTable)或储存过程(StoredProc),可选参数,请参见程序中注释。

如执行一个SQL查询,可以采用如下语句:

ARecordSet.Open('Select * from wfjcommu'

adOpenStatic

adLockOptimistic

adCmdText);

其它常见属性和方法与TTable和TQuery相比较如下(具体请见ASP帮助文件):

eof

bof:eof

bof.

MoveFirst

MoveLast:First

Last

MovePrevious

MoveNext:Prior

Next

Move:MoveBy

AddNew:append

Update:Post

Close:close

Delete加Update:delete,所有对数据表的修改均须用Update使操作有效,这与Delphi不同。

Fields[FieldNo]:Fields[FieldNo]

Fields['FieldName']:FieldByName('FieldName')

3.其它常见对象(与Delphi对应的对象):

ADODB.Field:TField ADODB.Parameter:

TPara ADODB.Error:EDBEngineError

ADODB.Command:无 ADODB.Property:无

下面来看一个应用例子,听别人说总不如自己看实际的例子来体会。在这个例子中,将演示如何利用ADO对象来对一个数据表进行查询、增加记录、修改记录和删除记录操作。具体的用法请参见程序中的注释,如果有点Delphi数据库编程经验,相信不难理解。

在我们的例子使用的数据库为Test.MDB,其中有一个数据表为wfjcommu,有五个字段AName、Portable、Tel、BP、PostAddress,分别表示姓名、手机号、电话号码、呼机号码和通信地址。

procedure TForm1.Button1Click(Sender: TObject);

{*****************************************************

用ADO操作ODBC数据库本程序中,将创建一个临时的ODBC系统数据源,指向一个MsAccess数据库,然后对其中的数据表进行显示、增加、修改、删除和查询操作注意:请在Uses语句中包含ComObj单元

*****************************************************}

const{ 一些常量声明,详细请参见adovbs.inc }

{ ---- CommandType的常量说明 ---- }

adCmdUnknown = 0008;//未知

需要系统来判断

速度慢

为缺省值

adCmdText = 0001;//命令语句如SQL语句

adCmdTable = 0002;//数据表名称

adCmdStoredProc = 0004;//存储过程名称

{ ---- CursorType的常量说明 ---- }

adOpenForwardOnly = 0;//只能由前向后单向访问

为缺省值

adOpenKeyset = 1;//可见其他用户对数据的修改

但对其它用户的增加和删除不可见

adOpenDynamic = 2;//其他用户对数据的增加修改和删除均可见

adOpenStatic = 3;//其他用户对数据的增加修改和删除均不可见

{---- LockType的常量说明 ---}

adLockReadOnly = 1;//只读

为缺省值

adLockPessimistic = 2;//在修改时

按单个记录锁定

adLockOptimistic = 3;//在修改后更新时

按单个记录锁定

adLockBatchOptimistic = 4;//在成批更新时记录锁定

var

AConnection

ARecordSet : variant;

longintTemp : integer;

strTemp : string;

intIndex : integer;

begin

{创建一个临时的ODBC数据源

指向一个MsAccess数据库

并利用此DSN建立一个数据库连接}

AConnection := CreateOleObject('ADODB.Connection');

AConnection.Open('Driver={Microsoft Access Driver

(*.mdb)};DBQ=C:\inetpub\wwwroot\test');

{建立一个数据集对象

并从数据表中提取数据}

ARecordSet := CreateOleObject('ADODB.RecordSet');

ARecordSet.open( 'wfjcommu'

AConnection

adOpenStatic

adLockOptimistic

adCmdTable );

memo1.lines.clear;

memo1.lines.add('********数据表原有的内容如下********');

{显示各个域的域名}

strTemp := '';

for intIndex := 0 to ARecordSet.Fields.count - 1 do

strTemp := strTemp + ARecordSet.Fields[intIndex].name+';';

memo1.lines.add( strTemp );

{显示各个域的内容}

while not ARecordSet.eof do

begin

strTemp := '';

for intIndex := 0 to ARecordSet.Fields.count - 1 do

strTemp := strTemp + ARecordSet.Fields

[intIndex].value+';';

memo1.lines.add( strTemp );

ARecordSet.MoveNext;//移到下条,Next

end;

{增加一个记录}

ARecordSet.AddNew;//增加

Append

ARecordSet.Fields['AName'] := '1';

//以FieldByName的方式存取

ARecordSet.Fields['Portable'] := '2';

ARecordSet.Fields(2) := '3';

//以Fields[index]的方式存取

ARecordSet.Fields(3) := '4';

ARecordSet.Fields(4) := '5';

ARecordSet.Update;//更新,Post

ARecordSet.MoveFirst;//移到首条,First

memo1.lines.add('********增加了一条

记录后的数据表的内容如下********');

{显示各个域的内容}

while not ARecordSet.eof do

begin

strTemp := '';

for intIndex := 0 to ARecordSet.

Fields.count - 1 do

strTemp := strTemp +

ARecordSet.Fields[intIndex].value+';';

memo1.lines.add( strTemp );

ARecordSet.MoveNext;//移到下条,Next

end;

{修改最后一条记录}

ARecordSet.MoveLast;

ARecordSet.Fields['AName'] := '11';

//以FieldByName的方式存取

ARecordSet.Fields['Portable'] := '22';

ARecordSet.Fields(2) := '33';

//以Fields[index]的方式存取

ARecordSet.Fields(3) := '44';

ARecordSet.Fields(4) := '55';

ARecordSet.Update;//更新,Post

ARecordSet.MoveFirst;//移到首条,First

memo1.lines.add('********修改了最后一条

记录后的数据表的内容如下********');

{显示各个域的内容}

while not ARecordSet.eof do

begin

strTemp := '';

for intIndex := 0 to

ARecordSet.Fields.count - 1 do

strTemp := strTemp +

ARecordSet.Fields[intIndex].value+';';

memo1.lines.add( strTemp );

ARecordSet.MoveNext;//移到下条,Next

end;

{删除最后一条记录}

ARecordSet.MoveLast;//移到末条,Last

ARecordSet.delete;//删除,delete

ARecordSet.Update;//更新,在Delphi不需要

ARecordSet.MoveFirst;//移到首条,First

memo1.lines.add('********删除了最后一条

记录后的数据表的内容如下********');

{显示各个域的内容}

while not ARecordSet.eof do

begin

strTemp := '';

for intIndex := 0 to ARecordSet.Fields.count - 1 do

strTemp := strTemp + ARecordSet.

Fields[intIndex].value+';';

memo1.lines.add( strTemp );

ARecordSet.MoveNext;//移到下条,Next

end;

ARecordSet.Close;{关闭数据集}

{用SQL语句进行查询

查询姓名为“张三”的记录}

{注意,在SQL语句中,字符串应该用单引号包括起来}

ARecordSet.open( 'select * from wfjcommu

where AName = ''张三'''

AConnection

adOpenStatic

adLockOptimistic

adCmdText );

memo1.lines.add('********张三的内容如下********');

memo1.lines.add( '共有' + IntToStr

( ARecordSet.RecordCount ) + '条匹配的记录' );

{显示各个域的内容}

while not ARecordSet.eof do

begin

strTemp := '';

for intIndex := 0 to ARecordSet.Fields.count - 1 do

strTemp := strTemp + ARecordSet.Fields

[intIndex].value+';';

memo1.lines.add( strTemp );

ARecordSet.MoveNext;//移到下条,Next

end;

{关闭数据集和数据库连接}

ARecordSet.close;

AConnection.close;

end;

以上程序在PWIN98+DELPHI3.0+PWS(Personal Web Server)4.0下调试通过.

关于ADO对象的详细资料,请参见ASP帮助文件或Interdev帮助文件或OFFICE2000的有关文档。

自定义组合热键 -VB资料 自动更换墙纸的小软件-VB资料 自动记录应用软件工作时间 -VB资料 自动卷动TextBox -VB资料 自动开始上次关机时关闭的应用 -VB资料 自动装入注册设置 -VB资料 自己编程模拟 MouseEnter,MouseExit 事件 -VB资料 走进VB6啃一块骨头 做成一个时间限制的测试版 -VB资料 PHP中利用jQuery实现SWF图像上传和裁剪 VB.NET或C#将DataSet快速导出到Excel中 HashSet的equals和hashCode重写问题 PendingIntent实现原理和代码 IntentService实现原理及内部代码 AsyncTask实现原理和内部代码 Neither user nor current process错误 ListView的右边滚动滑块启用方法 Live Wallpaper动态壁纸开发 控制软键盘显示和隐藏 设置Activity大小不再全屏原理 Android面试题,看看你基础如何? Android Canvas绘图抗锯齿解决方法 Android xliff和字符串资源 android.hardware.USB类介绍 Android开发经验谈之应用间数据共享 android_asset这个URL详细使用方法 Android 2.3系统自带高清UI图标下载 设置ScrollView滚动条的颜色 WakeLock使用方法示例代码 Concurrent并发库常见问题总结 Android数据库SQLite性能优化技巧 如何声明和使用自定义对象(如:Tdadaset)的事件?? PB的数据窗口中GerRow()得到的不是具有焦点的行,如果我要想的到具有焦点的行,应该用什么东东 有关使用DirectShow开发TV Capture的问题(一定给高分) 在VB中能否将时间格式化为显示出毫秒来? 寻求驱动 如何给回答我问题的人加分? 如何在mshflexgrid中输入字符 如何改变当前打印机的纸型? 请问在WINXP下的怎设置IIS? 我在用 DataReport 控件对数据库进行输出时 为什么运行时总是弹出选择数据库的对话框? 这个数据库连接不是已经设置好了吗? 怎样取消textbox的凹凸感? 为什么在IE6 中使用Ctrl+Shift组合健得到的连接是http://www.china.co.cn 为什么总是出现Invalid BLOB handle in record buffer错误 大家晚上好,怎么让我的程序里有一小块是网页的内容呢?(全部家档!!) 关于Database和Session的问题!火急!(快乐的程序员) jsp+mysql如何在linux上配置 有知道黑龙江高程查分方法的吗????? *******我要一个这样的类:显示淡入淡出的菜单(最好还能有半透明的功能) *************** 特急,各位帮忙。怎么样在字符串中包含'(单引号)? 高分求助用paradox数据库保存JPEG图片的代码,我试过网上好多都没成功。markoni@21cn.com 吴文智、袁飞、Jinesc、Jneu、Amoon、ttyp、icevi、progame 快请进 请教一个表与表之间比较数据的问题,由于数据量大,造成事务不够,请教解决方案 execcommand的使用方法求救。高手请进,一定给分。 我的时钟怎么回事? Matlab论坛 打印机的取消按钮 dbgrid中当某个单元格失去焦点时触发什么事件? 关于Database和Session的问题!火急! yanxu1 学习unix下的c编程,该如何学?请介绍方法,资料什么的--我对unix和c都还熟悉。 打印机死机作何解?????? 我是新来的,请各位大哥、大姐们多多关照!!!(有内容) 再次发问关于sql server7的问题?? SQL SERVER中的一个触发器的问题!!! xml里有什么method可以取得子节点在父节点中的位置(序号)? please help me 怎么样才可以把系统存储过程的结果写到结果集里? 如何声明和使用自定义对象(如:Tdataset)的事件(beforecancel)?? 一个奇怪的问题? 各位兄弟,谁知道哪里有pb7的下载? 天呐 我提的问题从来没人回答 SQL Server小小问题 请问那里有DELPHI第二张光盘下载! 如何是使用describe来获取datawindow中的带区参数? 谁有早期的TeeChart5.ocx,文件大小为2,576,384,发行日期在2001-06-17号以前的,我这里有个crack软件,但是新下载的不行,所以重金寻求!!! 请问C语言中有字符串查找函数吗? 请问如何动态的改变应用程序的图标,一定给分 Query主从表编辑问题,从不丢失! 急急急!!!! 高分求禁止IE的自动谈出的广告,有个软见也行,或者告诉实现方法。请告诉下载的网址。 打印一些清单在delphi中用哪些控件比较好? 如何打印到文件 一个鱼缸的长宽高分别是5dm,3dm,4dm,浴缸中的水面高20厘米,若里面放进体积为18dm3的石块并且完全浸没在水中,水面离缸口多少dm?(要算式) 甲乙两个加油站,间距为3600米,路旁有路标,原来40米一个(起点,终点各有一个),现在要改成50米一个,将有多少旧路标可以留用 一堆煤,第一次运走了总量的4分之1还少3吨,第二次运了余下的3分之1还多2吨,第三次运走了在余下的2分之1,还剩10吨,这堆煤原有几吨? 一家酒店,地面上18层,地下1层,地面上1楼为接待处,顶楼为公共设施处,其余16层为客房,地面下1楼为停车场.(1)某会议接待员把汽车停在停车场,进入该层电梯,往上14层,又下5层,再下3层,最后上6 4.某路公共汽车,包括起点和终点共有15个车站,有一辆车除终点外,每一站上车的乘客中,恰好有一位乘客到以后的每一站下车,为了使每位乘客都有座位,问这辆公共汽车最少要有多少个座位? 连接A,B两城的高速公路,全长120km,在AB上建有两个收费站C和D,已知AC:DB=11:1`,一辆小汽车从站行驶3/4h, 一家饭店,地面上18层,地下1层,地面上一楼为接待处,顶楼喂公共设施处,其余16层为客房,地面下一楼为停场.(1)某会议接待员把汽车停在停车场,进入该层电梯,往上14层,又下5层,再下3层,最后上 地下停车库入口坡道多少米? 方舟子靠什么赚钱 一饭店地面上18层,地下1层,地面上1楼为接待处,顶楼为公共设施处,其余16层为客房;地面下1楼为停车场一家饭店,地面上18层,地下1层,地面上1楼为接待处,顶楼为公共设施处,其余16层为客房;地 为缓解“停车难”的问题,某单位拟建造地下停车库,建筑设计师提供了该地下停车库的设计示意图为标明限高,请你根据该图计算CE.(精确到0.1m)图 一个棱长1cm的正方体拼成长方体的表面积事多少平方厘米? 方法,不要方程,百分之一百全对一个长方体容器,占地面积3平方分米.将一个梨放入其中,并完全没入水中,水面升高了0.1dm.这个梨的体积是多少立方厘米 一家饭店,地面上18层地下1层地面上1楼为接待处顶楼为公共设施处其余10层为客房地下1楼为停车场客房七楼与停车场相差 层楼一家饭店,地面上18层地下1层地面上1楼为接待处顶楼为公共设施 转基因大米对人有危害吗 长方体容器,占地面积3立方分米,放入一个梨后水面升高了0.3分米,梨的体积是多少占地面积3平方分米 合肥市庐阳区某路段新建一家饭店,地面上18层,地下一层,地面上一楼为接待处,顶楼为公共设施处,其余16层为客房,地面下一楼为停车场.某日,电梯检修停电,一服务生在停车场停好汽车后,只能 数学题:为了缓解“停车难”的问题,某单位拟建造地下停车库,建筑设计师提供了地下停车库的设计示意%C地下停车库坡道口上方要张贴限高标志,来告知停车人车辆能否安全驶入,为标明限高, 一个长方体容器底面长5分米宽4分米放入一个西瓜后水面上升了0.3分米这个西瓜的体积是多少立方分米因为字数太多了,请自己辨认隔开.这个问题没有高.要今天8点之前, abc三条公路如图所示,现在要建一个货物车站,是他到这三条公路的距离相等,做图思路 转基因大米有什么不好 一桶水,倒出60千克,刚好倒出40%,这桶水共有多少千克.不用算式 什么是转基因大米 数学题为缓解“停车难”的问题,某单位拟建造地下停车库,设计师提供了车库入口设计示意图(下图),按规定为缓解“停车难”的问题,某单位拟建造地下停车库,设计师提供了车库入口设计示意 直线a、b、c表示三条互相交叉的公路,现要建一个加油站p,要求点p到三条公路的距离相等,有几种选择?如何选 某商场有一自动扶梯,小明以速度v沿开动(上行)的自动扶梯走上楼时,所用时间为T1,当他以相同的速度沿开动(上行)的自动扶梯走下楼时所用时间为T2,则该自动扶梯上行的速度为多少? 为了缓解“停车难”的问题,某单位拟建造地下停车库,建筑设计师提供了地下停车库的设计示意为了缓解“停车难”的问题,某单位拟建造地下停车库,建筑设计师提供了地下停车库的设计示意 一个长方体容器,从里面量长宽均为2分米,向容器中倒入3.5升水,再把一个石头放入水中,这时量得容器内的水深是25厘米.这个石头的体积是( ). 顾客站在商场自动扶梯的水平台阶上随自动扶梯匀速上升.顾客在上升过程中(c) A、机械能保持不变 B、运动状态在不断变化 C、相对于其站立的台阶是静止的 D、受到重力、支持力和摩擦 3路:每隔6分钟发一次车 5路:每隔8分钟发一次车 3路和5路的起点站都在这儿. 它们刚才同时发的车.这两路公共汽车同时发车以后,至少过多少分钟两路车才第二次同时发车?要过程! 一个长方体玻璃容器,从里面量长4分米,宽3分米,里面装有水2.4升,再把一块石头放入水中.这时量得容器内水面高是5厘米.这块石头的体积是多少? 小明站在超市的自动扶梯上,随着自动扶梯匀速上升的过程中,小明()A.动能转化为势能,机械能减小B.只受到重力与支持力的作用C.如果选“自动扶梯”为参照物,小明是运动的D.自动扶梯对小 把7分之4千克的黄豆平均分成6份,每份是1千克的几分之几,每份是4千克的几分之几.马上要交了. 一个长方体玻璃容器,从里面量长宽均为3分米,向容器中倒入7.2升水,再把一块石头放入水中(石头完全浸入水中,水为溢出)这时量得容器内水深9厘米,这块石头的体积是多少? 乘超市的自动扶梯,自动扶梯的长度是22,求小明的速度与自动扶梯的速度的数学问晓明顺着扶梯的方向走,用了一分钟,用同样速度逆着走,用11分钟,自动扶梯的长度是22米, 一条72米长的路,原来从一端起,每隔9米有一盏灯(起点和终点都装有路灯).现在一条72米长的路,原来从一端起,每隔9米有一盏灯(起点和终点都装有路灯)。现在重新安装,要从一端起每 为了测量一个石块的体积,在一个长10分米、宽6分米、高4分米的长方体容器中放入适当的水,再把石块放入水中这时长方体中的水面上升了15厘米,求石块的体积是多少立方分米? 7明明和玲玲每个都有一些本子,如果明明给玲玲2本,两人就一样多,如果玲玲给明明1本,明明的本子就是玲玲的7倍.问明明和玲玲各有多少本子 不能用方程解 一栋大楼地下共4层地上共18层史师傅从地下4层到地上3层用了7/60分钟王老师乘电梯从地下3层到地上7层需多少分钟?(算术) 一个长方体容器里面量长四分米宽三分米相容器中到十八升水把一块石头的没入水中这时量的容器内水深28厘米石头的积是多少 "一栋大楼共20层.李叔叔乘电梯从地上10层到地下9层要20分之3李叔叔乘电梯从地下8层"到地下一层车库要多少分钟 一栋大楼地下4层,地上有18层,史师傅乘电梯从地下4层到地上4层,要六十分之七分钟,王师傅乘电梯从地下4层到地上7层,用多少分钟 这是转基因玉米吗 一个长方体的总和是60cm,它正好能被切成3个同样的正方体.原来的长方体的表面积是? 把三个棱长1cm的正方体拼成一个长方体,长方体的表面积是18cm2吗? 【数学应用】小红的爸爸想在本镇的3条交叉公路处建一个加油站,要求它到三条公路的距离相等.小红的爸爸想在本镇的3条交叉公路处建一个加油站,要求它到三条公路的距离相等,这样可供选 转基因的危害 转基因大米什么样 用5个棱长为1cm的小正方体拼成一个长方体,这个长方体的表面积是多少平方厘米? 有三条公路相互交叉,现在公路围成的空地上要修建一座加油站,使它到三条公路的距离相等,问加油站该修建在什么位置? 一个长60cm,横截面是正方体的长方体.如果长增加6cm,表面积就增加96cm,求原来长方体的表面积和体积. 某人乘电梯从地下2层上升18层后,发现自已走错了楼层,又下降了3层,此人现在在处级 鱼缸长4宽3深2把一个石头放入身高了0.8,石头体积多少 单位是分米哦快, 转基因大米人吃了有什么危害 有一段长340米的马路,要在这条马路的两侧植树.从一端为起点,每隔8.5米中一棵树,一共要种多少棵树 一个鱼缸长1m,宽3dm,高4dm.将一条鱼放入鱼缸后,水面由3dm升至3.12dm.鱼的体积是多少? 一个长方体棱长总和60Cm,正好切成3个相同的正方体,原长方体体积是? 在一条长600米的公路两边植树,要求每边都每隔3米栽一棵树,如果从公路的起点栽起,一直栽到终点,一共需要多少棵树苗? 一个鱼缸的长 宽 高分别是5dm 3dm 4dm,鱼缸中的水面高是2分米,若从里面放进积为18立方分米的石块,水面离缸口多少分米? 每瓶饮料Xml,5瓶这样的饮料平均分给3个同学,每人可分到多少ml? 把四个棱长是1cm的正方体,拼成一个长方体,拼成的长方体的表面积.最小是()cm2
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn