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

在VB中兼容非ACCESS数据库的技巧

HTML文档下载 WORD文档下载 PDF文档下载
在VB中兼容非ACCESS数据库的技巧


西安第四军医大学生物医学工程系电子学教研室 焦纯 杨国胜 王健琪

摘要:本文从VB数据库体系结构的角度出发,结合一个具体实例,阐述了在VB中兼容非ACCESS格式数据库的具体方法和技巧。
关键词:VB、非ACCESS数据库、数据存取对象

  一个完整的数据库管理系统(DBMS)应是能兼容市面上各种较流行数据格式的系统,它充分考虑了不同用户的实际要求。鉴于目前市面上有多种数据库格式(如Foxpro、DBase、Paradox等)流行,因而在VB数据库应用程序中兼容非Access数据库就显得尤为重要了。
  作为一种流行的开发平台,VB提供了强大的数据库功能。主要有以下三种:数据控件法:使用数据存取对象(Data Access Object )法;直接调用ODBC 2.0 API接口函数法。其中调用数据存取对象的方法相对其它两种方法具有方便灵活、功能强大的突出优点。本文即从调用数据库存取对象的方法出发,实现了非Access格式数据库(以FoxPro数据库为例)的建新库、拷贝数据库结构、动态调入等操作,阐述了从编程技巧上弥补VB对这些外来数据库支持不足的可行性。

一、VB数据库的体系结构
  VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,它为VB与数据库的接口提供了基本的方法和手段。JET引擎被Visual Basic、Microsoft Access和其它Microsoft产品所共享。因而在VB中Access数据库格式是一种标准的内置格式,所有的非Access数据库都被称为外来数据库。
  JET引擎的作用就像是一块“面板”,在其上可以插入多种索引顺序存取方法(即ISAM)数据驱动程序。这就是VB对非Access数据库具有丰富支持的真正原因。VB专业版中提供了FoxPro、dBASE(或Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格式。另外,其他的许多兼容ISAM的驱动程序也可以通过从厂商的售后服务得到。因而从理论上说,VB能支持所有兼容ISAM的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。

二、使用非Access数据库时的参数设置及配置文件的参数读取
  值得注意的是,大多数的程序员都不注重数据库配置文件的使用,殊不知这是极为重要的。
  如果在VB的程序中使用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个数据库配置(.INI)文件,在INI文件中可以对不同类型的数据库进行设置。如果找不到这个INI文件,将会导致不能访问数据库。通常情况下,INI文件的文件名和应用程序的名称相同,所以如果没有指明,VB的程序会在Windows子目录中去找和应用程序同名的INI文件。可以使用VB中的SetDataAccessOptions语句来设置INI文件。
  SetDataAccessOptions语句的用法如下:
  SetDataAccessOptions 1, IniFileName
  其中IniFileName参数指明的是INI文件的带路径的文件名。
  值得注意的是,当应用程序找不到这个INI文件时,或在调用OpenDataBase函数时对其Connect参数值没有设定为VB规定的标准值,如对FoxPro 2.5格式设定为了“FoxPro;”(应为“FoxPro 2.5;”),或者没有安装相应的ISAM驱动程序,则此时VB会显示一条错误信息“Not Found Installable ISAM”。
通常,INI文件在应用程序分发出去以前已经生成,或者在安装时动态生成,也可以在应用程序中自己生成。通常这种INI文件中有“[Options]”、“[ISAM]”、“[Installed ISAMs]”、“[FoxPro ISAM]”、“[dBASE ISAM]”、“[Paradox ISAM]”等设置段,对于一个完整的应用程序则还应有一个属于应用程序自己的设置段如“[MyDB]”。可在其中设置DataType、Server、DataBase、OpenOnStartup、DisplaySQL、QueryTimeOut等较为重要的数据库参数,并以此限定应用程序一般的运行环境。
Windows API接口函数在Win95系统提供的动态链接库中提供了一个OSWritePrivateProfileString函数,此函数能按Windows下配置文件(.INI)的书写格式写入信息。
在通常情况下,应用程序还需要在运行时读取配置文件内相关项的参数。比如PageTimeOut(页加锁超时时限)、MaxBufferSize(缓冲区大小)、LockRetry(加锁失败时重试次数)等参数,通过对这些参数的读取对应用程序运行环境的设定、潜在错误的捕获等均会有很大的改善。
设此应用程序的数据库配置文件为MyDB.INI,则具体过程如下:
Funtion GetINIString$(Byval Fname$, Byval szItem$, Byval szDeFault$ )
 '此自定义子函数实现INI文件内设置段内参数的读取
 Dim Tmp As String, x As Integer
 Tmp = String( 2048,32 )
 x = OSGetPrivateProfileString(Fname$, szItem$, szDefault$, Tmp, Len(Tmp), "MyDB.INI")
 GetINIString = Mid$( Tmp,1,x )
End Function
通过此函数就能实现对各种数据库格式的读取。

三、调用数据存取对象对非Access数据库编程的方法及其实例
  VB专业版中使用数据库存取对象变量(DAO)的方法最具有功能强大、编程灵活的特点。它能够在程序中存取ODBC 2.0的管理函数;可以控制多种记录集类型:Dynaset,Snapshot及Table记录集合对象;可以存储过程和查询动作;可以存取数据库集合对象,例如TableDefs,Fields,Indexes及QueryDefs;具有真正的事物处理能力。这种方法对数据库处理的大多数情况都非常适用。
从VB的程序代码的角度来看,提供给VB程序员的记录集对象(RecordSet)同所使用的数据库格式及类型是相互独立的。即对FoxPro等数据库仍然可以使用众多的数据库存取对象变量,这就为非Access数据库的访问提供了最重要的前提和方法。
在VB中从一种数据库类型转化为另一种数据库类型几乎不需要或只需要很少的代码修改。而且,尽管dBASE、Paradox本身的DDL(Data Definition Language,即数据定义语言)和DML(Data Manipulation Language,即数据操纵语言)是非结构化查询的,但它们仍然可以使用VB的SQL语句和JET引擎来操纵。
因而对FoxPro等非Access数据库而言,调用数据库存取对象的方法同样也是一种最佳的选择。

(一)非Access数据库的新建及库结构的修改
  VB专业版中的数据库存取对象变量可以分为两类,一类用于数据库结构的维护和管理,另一类用于数据的存取。其中表示数据库结构时可以使用下面的对象:DataBase、TableDef、Field、Index,以及三个集合(Collection):TableDefs、Fields和Indexes。每一个集合都是由若干个对象组成的,这些数据对象的集合可以完全看作是一个数组,并按数组的方法来调用。
一旦数据库对象建立后,就可以用它对数据库的结构进行修改和数据处理。
对于非Access数据库,大部分都是对应于一个目录,所以可以使用VB的MkDir语句先生成一个目录,亦即新建一个数据库。而每一个非Access数据库文件可看作是此目录下的一个数据表(Table),但实际上它们是互相独立的。
下面是新建一个FoxPro 2.5格式数据库的程序实例。
Sub CreateNew()
 Dim Db1 As database, Td As TableDefs
 Dim T1 As New Tabledef, F1 As New Field, F2 As New Field, F3 As New Field
 Dim Ix1 As New Index
 Dim Path As String
 Const DB_TEXT = 10, DB_INTEGER = 3
 ChDir "\"
 Path$ = InputBox( "请输入新路径名:", "输入对话框" )
 MkDir Path$ '新建一个子目录
 Set Db1 = OpenDatabase(Path$, True, False, "FoxPro 2.5;")
 Set Td = Db1.TableDefs
 T1.Name = "MyDB" ’新建一个数据表,数据表名为MyDB
 F1.Name = "Name": F1.Type = DB_TEXT: F1.Size = 20
 F2.Name = "Class": F2.Type = DB_TEXT: F2.Size = 20
 F3.Name = "Grade": F3.Type = DB_INTEGER
 T1.Fields.Append F1 '向数据表中添加这些字段
 T1.Fields.Append F2
 T1.Fields.Append F3
 Ix1.Name = "Name": Ix1.Fields = "Name": Ix1.Primary = True '新建索引
 T1.Indexes.Append Ix1 '向数据库的Indexes集合中添加新的索引
 Td.Append T1 '向TableDefs集合中添加新表
 Db1.Close '必须先关闭数据库对象再退出
End Sub
  在此段程序中值得注意的是,对非Access数据库的新建不用CreateDatabase函数,而是用OpenDatabase函数,这点与Access数据库大不一样,但也仅仅是针对非Access数据库而言才能用OpenDatabase函数来新建一个数据库对象。
在VB中,外来数据库的不同格式只在OpenDatabase函数的最后一个参数Connect中有所体现,不同格式的外来数据库其Connect参数值也不同,除此以外,在VB专业版中其编程的方法和步骤及技巧是基本相同的。
新建子目录后,不能用ChDir语句进入它,否则会出现“‘MyDB’ is not a valid path”的错误。同时,对F1、F2、F3等新建字段对象的定义也必须分别定义,否则会出现“Element not defined”(变量未定义)的错误。
通过一定的编程技巧还可以实现非Access数据库的库结构的拷贝,下面是一段相应的程序。
Function GetPos( TFname$ ) ’此自定义函数完成对带路径文件名中最后一个“\”符号的定位
 Dim I As Integer, Tmp As String
 Tmp$ = TFname$
 For I = 0 To 255
  Pos% = Pos% + InStr( 1, Tmp$, "\" )
  E1% = InStr( 1, Tmp$, "\" )
  Tmp$ = Right$( Tmp$, Len(TFname$) - Pos% )
  If E1% = 0 Then '找到最后一个“\”符号的位置,并记下来
   GetPos = Pos%
   Exit For
  End If
 Next I
End Function
Sub CopyStruc( )
 Dim Db1 As database, Ds1 As Dynaset, Td As TableDefs, Fld As Fields
 Dim Fname, SourceF, DestF, Path As String, Pos1 As Integer
 CMD1.Filter = "FoxPro数据库文件(*.DBF)|*.DBF|所有文件|*.*" 'CMD1为一个对话框的控制名
 CMD1.DialogTitle = "调入Ms FoxPro数据库文件"
 CMD1.FilterIndex = 1
 CMD1.Action = 1
 DestF$ = InputBox$( "请输入目标文件名:", "输入对话框" )
 If CMD1.FileName = ""Or DestF$ = "" Then
  MsgBox "源文件或目标文件名为空"
  Exit Sub
 Else
  SourceF$ = CMD1.Filename
 End If
 FileCopy SourceF$, DestF$
 Pos1% = GetPos( SourceF$ )
 Path$ = Left$( SourceF$, Pos1% ) '获得源文件所在的路径名
 Fn$ = Left$( DestF$, InStr(1, DestF$, ".") - 1 ) '获得新文件的数据库名
 'Fn$为实际的Foxpro数据库名,也即CreateDynaset函数内的source属性值
 Set Db1 = OpenDatabase( Path$, True, False, "FoxPro 2.5;" )
 Set Ds1 = Db1.CreateDynaset( Fn$ )
 If Ds1.EOF And Ds1.BOF Then '数据库内的无记录则退出
  TotalNum% = 0
  MsgBox "此数据表为空表!"
  Exit Sub
 End If
 '删除记录,保留库结构
 Ds1.MoveFirst
 Do
  Ds1.Delete
  Ds1.MoveNext
 Loop Until Ds1.EOF
End Sub
  可见,拷贝库结构的方法在于把一个已存在的数据库拷贝到一个新文件中,然后再删除新文件内的所有记录,保留其库结构,得到的就是一个新建的库结构完整的空库。

(二)非Access数据库的动态调入
  在实际应用的很多情况下,经常需要在对一些事先并不知道其具体库结构的数据库进行调入、显示及打印其记录。因而实现未知格式数据库的动态调入也是评价VB数据库应用程序兼容性的一个重要标志。
在VB中,网格控件非常适合用于浏览数据库中的数据,只需把数据放入网格即可。
在使用网格时动态调入的关键在于记录(Colume)内容和字段(Row)内容(包括字段的名称、类型、值等)的读取,因而生成一个可以对应于一个或多个数据表中的全部或部分记录的Dynaset对象是非常必要的。Dynaset对象还可以是一个动态查询的结果,能进行记录的增加、删除和修改等操作。
下面是一段用网格显示FoxPro数据库的程序。
Sub DBLoad( )
 Dim Db1 As database, Ds1 As Dynaset, Td As TableDefs, Fld As Fields
 Dim Fname, Tmp, Path ToTalNum As String, I, J, Pos1 As Integer
 Dim MyNum '定义一个变体型数据
 CMD1.Filter = "FoxPro数据库文件(*.DBF)|*.DBF|所有文件|*.*"
 CMD1.DialogTitle = "调入Ms FoxPro数据库文件"
 CMD1.FilterIndex = 1
 CMD1.Action = 1
 Fname$ = CMD1.Filename
 Pos1% = GetPos( Fname$ )
 Path$ = Left$( Fname$, Pos1% )
 Tmp$ = Right$( Fname$, Len(Fname$)-Pos1)
 Fn$ = Left$( Tmp$, Instr( 1, Tmp$, ".") - 1 )
 Set Db1 = OpenDatabase( Path$, True, False, "FoxPro 2.5;" )
 Set Ds1 = Db1.CreateDynaset( Fn$ )
 If Ds1.EOF And Ds1.BOF Then '数据库表内无记录则退出
  TotalNum = 0
  MsgBox "此数据表为空表!"
  Exit Sub
 Else '显示数据库表内的实际记录数
  Ds1.MoveLast
  TotalNum = Ds1.RecordCount
  Grid1.Rows = TotalNum + 1 '置网格的实际行数
  Total.Caption = Str$(TotalNum)
 End If
 '置网格的实际列数并置每列的宽度
 Set Td = Db1.TableDefs
 Set Fld = Td( Fn$ ).Fields
 Grid1.Cols = Fld.Count + 1
 Grid1.ColWidth(0) = 600
 For I = 1 To Fld.Count
  Grid1.ColWidth(I) = 1500
 Next I
 '在网格的第一行内填入字段名
 Grid1.Row = 0: Grid1.Col = 0
 Grid1.Text = "序号"
 For I = 1 To Fld.Count
  Grid1.Col = I
  Grid1.Text = Fld(I - 1).Name
 Next I
 '在网格中填入相应的数据
 Ds1.MoveFirst
 I = 1
 Do While Not Ds1.EOF
  Grid1.RowHeight(I) = 300
  Grid1.Row = I
  Grid1.Col = 0
  Grid1.Text = I
  For J = 1 To Fld.Count
   Grid1.Col = J
   MyNum = Ds1.Fields(J - 1).Value
   '对记录的数据类型进行判断后做相应的处理
   If IsNumeric( MyNum ) Or IsDate( MyNum ) Then
    Grid1.Text = Str$( Ds1.Fields(J - 1).Value )
   ElseIf VarType( MyNum ) = 8 Then
    Grid1.Text = Ds1.Fields(J - 1).Value
   ElseIf VarType( MyNum ) = 0 Or VarType( MyNum ) = 1 Then
    Grid1.Text = ""
   End If
   On Error Resume Next
  Next J
  Ds1.MoveNext
  I = I + 1
 Loop
 Ds1.Close
 Db1.Close
Exit Sub
  最后应记住,在VB的数据库应用程序运行之前,一定要在AUTOEXEC.BAT文件中加入一句SHARE.EXE /L:500。
以上所有程序均在Pentium/166机、中文Windows95下用VB4调试通过。

四、结束语
  对非Access数据库的兼容是VB数据库编程中不可分割的重要部分。因而熟练掌握使用DAO方法对非Access数据库的编程是极为重要的。并且,一定编程技巧的应用也有助于弥补VB对外来数据库支持的不足。

参考文献
1 【美】Que CorPoration 《开放数据库互连—ODBC 2.0使用大全》清华大学出版社 1995;18:255~276
2 美 Darwin Boyle等 《 Visual Basic 4 Developer's Guide 》北京:机械工业出版社 1997.1
3 美 Stefano Maruzzi 《The Microsoft Windows 95 Developer's Guide》北京:机械工业出版社 1997.1




联通:要做PaaS,存储最低为TB 百度资深交互设计师谈微信4.5版本 TalkingData推出移动游戏数据分析平台 一周消息树:著名计算机黑客Aaron Swartz自杀身亡 使用Windows 8模拟器及Visual Studio 2012调试IE 10触控及响应式Web设计 Azure、AWS要来了 IDC抱团取暖还是各找出路 C#使用ICDBurn实现CD刻录 验证码识别基础方法及C#/.NET源码 傲逆软件CEO周鲁:核心游戏精神,在移动游戏创作中传承 Kim Dotcom推出新文件存储服务平台Mega 用户数一天达百万 美FCC:希望全美在2015年部署千兆以太网 iOS和Android双平台:帷千动媒SDK 3.0发布 移动周报:2013年移动App设计13大精髓 构建高可扩Web架构和分布式系统实战(下) API设计的十大最差和五大最佳实践 Hadoop:为什么RAID-0不行? 电子前沿基金会:实现互联网自由需翻越5座大山 安全无小事:2013年最令人期待的15家安全公司 移动电商:更喜欢用HTML5代替原生APP Talkingdata行业预警:移动游戏正在变成红海 微软无视W3C 拒绝遵循WebRTC标准 Linux下使用MongoDB+GridFS实现备份作业的优化和监视 AWS建新数据中心 老用户获益不易 铜导线退出历史舞台 激光传导速度将达100G bps 大众点评推出首个O2O开放者平台:高德、盛大加入 从APM角度上看:NoSQL和关系数据库并无不同 新浪微博商业化:大树底下真的好乘凉吗? 亲爱的GitHub,我们怎么访问不了你? 经典神作《魂斗罗》iOS版今日上线 专访最强夫妻店:“神庙逃亡2”开发背后的故事 我们做错了什么?3周了,一毛钱也没赚到! 下拉菜单问题? 请问这是怎么一回事。win2k(p)+tomcat+jdk1.4.` 求救,我财务系统的问题,大大们一定要帮助我呀! 我在调试jsp是的一个错误信息,请指教~~~ 急!!! 一个烦人的问题 关于在应用程序中使用dll中资源的问题 關於並行執行的問題 也许你现在就会改变!! 看 http://Scjp.myrice.com 为什么要学Java 其实我们很封闭! 关于NT的小问题! 请问: 請問哪里有c++的書籍下載? 几个控件重叠在一起,怎样用代码的方式使其中的某个控件在运行时放至最上!?谢! 也许你现在就会改变!! 看 http://Scjp.myrice.com 其实我们很封闭! 如何发布我的网站? 怎样编程在Windows开始菜单的的“启动”栏中添加本程序的快捷方式? 谁有installshield 6.30的license注册文件? 请问:DataGrid在WebForm中明明有数据显示,但用浏览器看就没,为何? 显卡选择问题 ? 也许你现在就会改变!! 看http://Scjp.myrice.com 其实我们很封闭! 一个Acme .....???? 共计350分哟。急急。。。。我在PHP区有发言。但是还连不上SQL SERVER2000呀。。请进 boyqing(阿清):我的问题转到这了! 谁有installshield 6.30的license注册文件? 高手请进! 大家用java都来做什么????? 搞linux,unix底层的在中关村有没有搞头? 请问为什么我的CBuilder中在菜单项File/new下的无法找到RemoteDataModule?我是新手,请帮忙! 这几句TSQL有错?帮忙看看 请教关于网卡与声卡冲突的处理方法 谁有installshield 6.30的license注册文件? 请问如何在页面操作中保存dataset 怎样选定ListCtrl中的一行(包括subItem区域)? 类对象的实例和类的实例有什么区别?? 请问各位大虾,公文管理系统怎么做? 如何将TIF或TIFF文件转换成网页可以显示的JPG,或是GIF文件(最好给出JAR和例子) 这段程序应该怎么编? 各位老大,近来看看吧,一下午了也没有人来回答,苦命呀!加分...狂加....跳楼... TO net_lover(孟子E章) : 在datagrid中如何在获得当前字段内的内容? 高手都过来,这里有好几个问题!!! 安全队列问题?up有分! 如何在XML文件中獲得某個節點下重復的節點的個數﹐用IXMLNodeCollectionMA嗎? 谁解决了我的问题,我再送他100分一共200分!够吧! 滚屏公告栏滚动速度太快,如何调慢?帮帮忙 一个简单的问题? 需要紧急帮助!!!!!! 一个进制转换的问题? 刚开始看java,第一个hello,java程序 HELP ME!JAVA & XML的问题。。。 用过F1做报表的请进 为了不惊动蜗牛,以便用放大镜观察到蜗牛触角上双眼,下列正确的是:A:前后移动蜗牛B:放大镜靠在蜗牛上C:同时移动头部和放大镜D:将蜗牛放在放大镜上蝗虫适于陆地生活的特点是:1身 为什么蚂蚁等小昆虫可以在天花板上爬行?叫蚂蚁等小昆虫都可以爬到天花板上,就算天花板再光滑都可以,但是人不行(除非你是蜘蛛人大概还可以),好象也没有听说过它们的脚构造特殊,也 蜗牛到底属不属于昆虫科学本上有一道题说:野生的蜗牛是农业上的_______(填“害虫”或“益虫”).是填害虫吗?还是,这道题根本不对,蜗牛不属于昆虫.. 蝗虫的复眼是适于陆地生活的形态结构特点吗? 为何昆虫能反地心力,在天花板上爬行? 蜗牛算动物还是昆虫? 已知曲线c1的参数方程为x=4+5cost 请问蜗牛是昆虫么? 家里出现的蜗牛身上有没有寄生虫或者血吸虫我家潮湿的地方有时候好出现蜗牛,我听说蜗牛身上有寄生虫和血吸虫,请问是这样的吗?我们这是北方,河南.这样蜗牛到底有没有害 这个参数方程如何消去参数kx=-k/(k^2+4)y=4/(k^2+4)答案是4x^2+y^2-y=0 关于描写大海的好句子20句OK 军用望远镜和民用望远镜的区别是什么? 已知函数f括号x=-x方+2x求曲线y=f(x)与x轴所围城的平面图形的面积S大哥帮小弟做下选择填空吧,我已经照好照片了 描写大海的句子 如何辨别、认识军用望远镜九九式甲HJ8342是哪一个兵种使用的望远镜?是否有这一款望远镜?上标有50X50 168FT AT 1000YDS ,请内行人士给以解释. 蝗虫翅膀的特点 请问这是什么虫,好像蜗牛啊!可是比蜗牛大好多.可不可以吃? 军用望远镜和民用望远镜观测效果有什么不同,价格差别多少? 请你根据蝗虫呼吸特点,提出消灭蝗虫的方案 这是什么虫子呀?像蜗牛!今天下雨了,我在冲凉的时候看见的,身体像蚂蝗,爬行想蜗牛,比蜗牛稍微快,行走像蛇一样S形,身体像个T字形. 这是什么蜗牛?昆虫鉴定 已知曲线C﹛x=2cosθ,y=√3sinθ ﹙θ是参数﹚﹜,直线l :y=x-1,则直线l被曲线C所截弦AB长为多少 蝗虫的特征是什么? 蜗牛是一种昆虫是什么说明方法 已知曲线c1的参数方程是x=2cos... 昨晚家里突然出现不知名的昆虫,请问这是什么虫子,有害么? 夏天会鸣叫的昆虫有哪些 已知曲线C:x=2cosα y=3sinα(α参数)与以直角坐标原点为极点,x轴正半轴为极轴的极极坐坐标系下的点M(2,π/4).(1)判断点M与曲线C的位置关系;.(2).在极坐标系下,将M绕极点逆时针旋转θ(θ属于[0,π]) 蝗虫嘴的特点 夏天会鸣叫的昆虫 在平面直角坐标系xoy中,曲线c1的参数方程x=4+2cosθ,y=2sinθ,点M是曲线C1上的动点,线段OM中点是P,(1)求线段OM中点P的轨迹直角坐标方程(2)以坐标原点O为极点,x的正半轴建系,直线l的极坐标方程pcosθ- 家里出现了未知名的虫子出现在家有段时间了 但在家里翻了好久也没发现是从哪来的 有谁认识这是什么虫子 哪来的 或者是什么东西生的 我好找根源 红外线望远镜价格 大概多少 蝗虫有哪些特点使其能在陆地生活 蝗虫的生活特点急 今晚用 红外线望远镜报价 好吗 蝗虫的那些特点使其适应陆地及空中生活? 房间天花板上有长的像蛆的虫是什么 红外线望远镜用电吗? 蝗虫单复眼有什么作用,是否有适于陆地生活的特点,蝗虫有什么适于陆地生活的特点 动物 昆虫 蚂蚁怎么排顺序? 请问哪里有卖红外线望远镜 函数y=2cosx(x属于【0,2π】)与直线y=2围成的图形的面积是多少为什么看y=2,y=-2.x=0,x=π围成的矩形 蚂蚁是一种什么样的动物?是害虫还是昆虫呢? 描写海洋里面景物的句子 若函数y=2cosx(0≤x≤2π)的图像和直线y=2围成一个封闭的图形,求这个封闭图像的面积 设平面图形A由x^2+y^2=x确定,求该平面图形的面积及其绕直线x=2旋转一周所得的旋转体的体积,尽快啊…… 求5种在夏天鸣叫的昆虫答得好好的可以追加, 已知函数y=2cosx和y=2图像在x∈【0,2π】范围内构成一个封闭的平面图形,利用对称性可得面积为能否帮我画张草图, 求y=2x与y=x^3围成的平面图形的面积 吃蜗牛 虫子种类黑色的 有3对腿 把曲线的参数方程化为一般方程:x=3sint,y=4sint,z=5cost (0小于等于t小于2pai) 描写大海的优美句子 求5种在夏天会鸣叫的昆虫 把下列参数方程化为普通方程〔1〕x=5cost y=3sint 蚂蚁是昆虫 还是动物谢谢了,大神帮忙啊 蜗牛属不属于昆虫 下列与蝗虫适于陆地生活无关的是()A 体表具有外骨骼B 身体分节,有三对足两对翅C 有三个单眼,仅能感光D 具优势与陆地进行呼吸的气门和气管为什么?请说明理由, 描写大海的词语 五种在夏天会鸣叫的昆虫
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘