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

在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




DJI与优酷土豆战略合作:提升UGC价值,先内容再营销 Android性能优化典范(二) 从三大运营商联手 看电视游戏背后的现状 【工具推荐】Vert.x——非阻塞、高并发的编程开发框架 Google搜索在确定结果排名时会将网站的移动设备适用性作为考量因素 W3C首次发布SVG标记、SVG轮廓标准工作草案 第七届中国云计算大会 | 首批主会演讲嘉宾和议题公布(表) 安沃传媒创始人王旭东:开发者从移动广告获利的黄金时代已经来临 【舌尖上的CTO】砂锅馄饨的交付件 微软新Visual Studio Code开发工具支持Mac和Linux 科技新创公司想做大?从CNN记者跳槽Snapchat谈起 Java二十年特别奉献:晒博文、赢大奖! 《近匠》华为创新总监蔡绪鹏:智能手表的三大感知与未解难题 从Samurai-Native框架开发谈React Native Qualcomm公司李申:Vuforia打破AR设备界线 物与物的互通:解析Thread、AllJoyn、OIC、Bonjour的特点 《天龙八部3D》中Unity使用介绍 微软推出ManifoldJS,Web App自动转成各平台本地App 专访庄晓丹:Java程序员眼中的Clojure 全面解析ECMAScript 6模块系统 七牛技术总监陈超:记Spark Summit China 2015 Project Tungsten:让Spark将硬件性能压榨到极限 Android手表在中国这样落地 ART运行时Foreground GC和Background GC切换过程分析 开创未来的关键:是什么造就了硅谷?(上) 微软前员工:开发Apple Watch应用的27个技巧 Apple Watch应用开发:从再造墨迹天气谈起 Java二十年特别策划:有奖征文,评选结果出炉! Zen=禅道:图解AMD技术战略转型 从友盟微社区看Android第三方SDK架构实践 无创客 不青春!2015全国大学生移动应用创新大赛在京启动 关于Sprite动画 出售代码 ACCESS的FORMS DLL调用函数问题 VB在ACCESS中应用的一个小问题! ACCESS中的FORMS问题? 再普通不过的一个问题 delphi6中还有BDE和ADO吗?它们被淘汰了吗?现在还有必要用它们来学数据库的开发吗? 50分答谢!!!---这个css定义为什么会出现这样的效果??? 各位:怎么判断表里某个字段是否存在? 纯技术问题:精通“书签“与“层“的大虾请进!!!! 一个奇怪的现象,请教高手这是怎么回事? 哪里有破解清华五行卫士密码的软件? vc++7.0好用吗? 吃完晚饭了... 可不可以让 CppWebBrowser1的背景不是白色? 热热热!!!热疯了!!! 我的喇叭哪儿去了? 我的PB程序出了问题了!!! sql server中哪个函数是用于字符串与整型之间转换的? 我想限定文本输入框只能输入10个汉字或20个英文字符,但文件输入框却只能输入10个英文字符,如何解决? 当我将这样的字符串“dsdsdsdfsdffsdsdfsdfsfdsdfsdfsfsfdsdffs.....”放入我的表格中时,无论怎样设置也不折行,影响了部局,如何解决? MFC中视图(view)是怎样随着主窗口的大小改变而改变的。 急!请教!!猫猫连接,用数据管道同时访问两库,访问不到对方的网络库(sybase) 关于电影下载 我已经把一个exe文件加入到我自己的程序中了,请问在我的程序中应该样调用该exe文件呢? 哪位高手知道RTF格式的含义?或者更好,知道Rxlib中的RXRICHEDIT控件中识别RTF格式的方法? Delphi编写的DLL在VC下不能使用 请问哪儿有电工的<>的电子版下载?我只有这么多了 msdn2001年4月版的讨论 请问哪儿有电工的<>的电子版下载? 请教高手!!!! 请进 各位:周末愉快!为何我的多表查询用updatebatch提交时总是报错? 我不明白!!!! 请问,BAS 与 VBJ 有什么区别吗?为何他们安装在同一个目录呢? 如何得到系统进程的列表? vi下如何撤销操作? 我们知道MFC中的对象序列化做得很好,不知在DELPHI中怎样来实现对象的序列化? 我已经学过C++,想学VC++请问哪本书入门比较好啊? 欢迎使用技巧酷skillstore beta 1.00 有个可以显示IP的QQ,很不可思议,讨论一下好吗? 怎样在程序运行的时候加上参数,比如说双击文本文件打开记事本 谁有运行后烧硬件的程序 用VC开发如何实现网页的同步浏览呢? 动态产生的datawindow怎样调整它的显示? 怎么从ORACLE白痴到高手 怎样通过程序员考试??????? 庆祝北京成功 COM基础问题 感谢huangguanshu回答我的问题,请进来拿这200分 老问题了,access to SQLserver 49,51,12,37,1,0.5,85中哪些是质数,哪些是合数,哪些是偶数,哪些是奇数 含FeS265%的硫铁矿在煅烧时有1.8%的硫损失而混入炉渣,二氧化硫转化为三氧化硫的利用率为99%.由这种硫铁矿制2t98%的硫酸,需硫铁矿多少吨?老师时这么算的 根据硫元素守恒 fes2~2so2~2so3~2h2so4120 98 3²-1²=4*2 7²-3²=10*4 10²-5²=15*5 a²-b²=( ) 下列数中,是质数的是17 27 57 87 在250mL HgCl2溶液里放入75gCu片,反应一段时间后,把Cu片从溶液中取出洗净干燥,称其质量为76.37g.取上述溶液25mL,向其中加入0.2mol/L AgNO3溶液20mL两者恰好完全反应.有一段我看不懂):由反应前后氯 用公式法解方程:x²-(3+2 √ 3)x+5+3√ 3 一米的九分之五米是几米? 1.把含有某一种氰化物杂质的Mgcl2粉末47.5溶于水,与足量硝酸银溶液反应,生成沉淀氯化银150mg,则该氯化镁中的杂质可能是 氯化铝 氯化钠 氯化钾 氯化钙 2 .在碘酸碘中,碘元素呈+3和+5两种价态, 用公式法解方程:x²-2ax-b²+a²=0 7米的九分之一与1米的九分之七长度相等吗 有Na2CO3和K2CO3的混合物12.52g,与足量盐酸反应,产生2.24L(S.T.P)CO2,求混合物中Na2CO3的百分含量.(要有过程) 计算:x²-√3 x+3/4=0用公式法解哟 有一个瓶子,装满水后总质量为210g,在瓶中放进一块质量为45g的金属片,然后再装满水,总质量为251g,该金属的密度是多少?为什么这样做? 7分之6比多少米短5分之1米,比9分之6米长的是 求简洁方法4%的NAOH溶液500g与足量盐酸反应,可生成多少摩尔NaCl?要求不求NaCl质量直接求物质的量,麻烦说明为什么,我上课没听懂谢谢. 新概念英语的第43、67、91、99课的题目是什么?第一本,题目中文和英文都要.要百分百正确哦 2+9分之4=( ) 3-6分之1-6分之5=( ) 4-12分之5=( ) 由甲醇和乙醇组成的混合液体1.24g,加入足量的钠充分反应后,共产生标准状况下的气体336mL,则原混合物中甲醇和乙醇的物质的量之比为-----------------------------( )A、2:1 B、1:2 C、1:4 D、3:1 新概念英语第一册99课文 9.84÷5分之3 5又12分之5÷1.3 在MgCl2、KCl、K2SO4三种盐的混合溶液中,若K+、Cl-各为1.5mol,Mg2+为0.5mol,则SO42-的物质的量为………………………………………………………………( )A.0.1mol \x05B.0.5mol \x05C.0.15mol \x05D.0.25mol 求新概念英语91-92的课文第二册 高一化学(必修2)的一道题目,麻烦写出具体的解题过程,谢谢!若要使0.5mol甲烷完全和氯气发生取代反应,并生成相同物质的量的4种取代产物,则需要氯气的物质的量为( )A.2.5molB.2molC.1.25mol 高一化学题(说明理由)一定量的CH4燃烧后得到CO,CO2,H2O(g),其质量共为49.6克,将它缓慢通过浓硫酸时浓硫酸增重25.2克,试求原混合气体中CO2的质量? 新概念英语第二册 91课作文急用 麻烦写出具体过程就是质量监测最后一题:某有机物在常温下为液体,常用作油漆的溶剂.为测定该有机化合物的化学式,将该有机物7.8g在氧气中完全燃烧,得到的二氧化碳在标准状况下体积为13 元素A的原子核内质子数和中子数相等,最高价氧化物的化学式为A2O5,它形成的气态氢化物的密度为0.759g/L(标准情况).(1)写出元素符号及在周期表中的位置. 新概念英语第二册91课摘要写作答案要2篇。左右2篇都要 高一化学题(必修2) 请写出解题过程,谢谢!镭是元素周期表中第七周期的IIA族元素,下列说法错误的是( )A.氢氧化物呈两性B.碳酸盐难溶于水 6题思路 写出60的全部因数,其中质数有?合数有? 1.某溶液可能含有Cl-、SO42-,为了检验它们,正确的操作是( )A.先加BaCl2溶液(若有沉淀滤去),在再加AgNO3溶液B.先加AgNO3溶液(若有沉淀滤去),在再加Ba(NO3)2溶液C.先加Ba(NO3)2溶液(若有沉淀滤 是什么思路呢? 75的全部因数有( ),其中( )是质数,( )是合数. 下列关于气体摩尔体积的几种说法正确的是 ( )A.22.4 L任何气体的物质的量均为1 molB.非标准状况下,1 mol任何气体不可能占有22.4 L体积C.0.1 mol H2、0.2 mol O2、0.3 mol N2和0.4 mol CO2组成的混合 解这个方程:3(x-5)²=2(5-x) 在75的因数中,质数有…合数有… 化学工作者把烷烃、烯烃、环烷烃、炔烃……的通式转化成键数的通式,给研究有机物分子中键能大小的规律带来了很大方便.设键数为I,则烷烃中碳原子数跟键数的关系通式为:CnI3n+1,烯烃 解方程:4(x-3)²-(x-3)²=2(x-5)(x-1) 在75因数中,质数有( ),合数有( )  ABCDE是同周期的5种元素,AB的 最高价氧化物对应的 水化物呈碱性,且碱性B>A,;CD的气态氢化物的水溶液呈酸性,且酸性C>D;5种元素所形成的简单离子中,E的离子半径最小,则他们的 原子序数由 5(x²-x)=3(x²+x) 用因式分解法解、x有两个值、写过程 75的全部因数有几个,分别是多少?其中什么是质数,什么是合数? 高一化学必修一42页到43页的复习题答案 化简:①(x+2)(x-5)+(x+3)(x+4) ②解分式方程:x+1/x-1-4/x²-1=1 因数,倍数,质数,合数的含义是什么? 在密闭容器中,将碳酸氢钠和过氧化钠的混合粉末加热到250℃,使其充分反应,最后测得残余固体由两种化合物组成,分别为a mol和b mol,且a>b.回答下列问题:(1)反应后容器中固体的成分及其物质 3√2+|3-√2|-√﹙﹣5﹚²请学霸多多指教!3√2+|3-3√2|-√﹙﹣5﹚².sorry,刚刚打错了! 42的因数有哪些,其中质数有哪些,合数有哪些,奇数有哪些? 在常温常压下 取下列四种有机物各1mol 分别在足量的氧气中燃烧 消耗氧气最多的是A.C2H5OH B.CH4 C.C2H4O D.C3H8O2 我看有同学把这些有机物分成水和另一种有机物就能很快判断 原理 3(×-5)²=2(5-×)怎么求 42的因数有哪些?在这些数中( )是质数,( )是合数. 分析下每个选项 思路.·已知Na2SO4和NaCl的混合溶液中,Cl-的物质的量浓度是Na+的物质的量浓度的0.6倍,则下列叙述中正确的是(    ) A.SO42-离子和CL-离子的物质的量之和等于Na+的物质的量B. (√3+2√5)²-(2√5-√3)² 把 1、2、12、37和51填入下面( )里.奇数( ) 素数( ) 合数( ) 请详细分析每一个选项在一定条件下,一定量的A和B气体发生如下可逆反应:2A(g)+3B(g)=3C(g),只有反应平衡才具有的性质是( )A.各物质的浓度之比为2:3:3B.混合物各物质浓度的浓度相等C.A、B、C -2又3/4*(-0.5)²/(-1/2)²*(-4/15)-1 1、2、24、37和51这些数可以填入哪个括号.( ) ( ) ( ) 奇数 素数 合数1、2、24、37和51这些数可以填入哪个括号。( ) ( ) ( ) 奇数 素数 合数 就是物质的量,和离子大量共存的问题的解题方法.最好有例题 (-15³)+[(-3)²-(2-5²)×3]
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn