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

在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




Android 2.3中的java.io.File类新增功能 更轻松的获取APK文件安装时间 Android控件对应表,丰富你的UI设计 Android开发进阶之NIO非阻塞包(八) Android开发进阶之NIO非阻塞包(七) Android开发进阶之NIO非阻塞包(六) Android开发进阶之NIO非阻塞包(五) Android开发进阶之NIO非阻塞包(四) Android开发进阶之NIO非阻塞包(三) Android开发进阶之NIO非阻塞包(二) Android开发进阶之NIO非阻塞包(一) Android开发进阶教程系列(一)目录篇 Android开发调试工具TraceView多图演示 Android JNI实例代码(二) Android JNI实例代码(一) Android JNI开发高级篇 Android NDK开发技巧二 Android JNI开发进阶篇 Android JNI开发提高篇 Android JNI开发入门篇 Android NDK开发技巧一 Android数据库ContentProvider封装原理 Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 获取Android手机上的图片和视频缩略图 Android JSON解析示例代码 Android ANR介绍与避免 Windows Phone 7 SDK完善度不如Android m3 NT启动问题 有没有宁波的兄弟啊,有哪儿要PB或delphi的好点的公司。请介绍下。 关于远程登陆的问题??回答者一定重分相谢。 同志们,朋友们,有空来这里玩玩! 为什么用gethostbyaddr(ip,size,PF_INET)不能把机器名得到????? 如何将Delphi程序改为汇编? 非常着急,各位高手一起来帮我研究一下这个工作流系统怎么用? 简单问题,肯定给分! 据说高程的通过标准是上下午加起来算了? 请斑竹帮忙 请问各位前辈: 在执行中出现"incorrect syntax near 'JCSZ'"的错误提示,如何解决? 下标越界是什么意思啊? 一个基础性的问题,同样一份C/C++源代码可以在UNIX 和WINDOWS运行需要具有的条件是啥??? 在一台计算机上安装两个键盘同时接受输入的问题 对XML文档中的数据能不能进行SELECE操作???? 如何用JAVA实现263邮件那样的邮件粘贴功能 请教各位大哥,小弟最近遇到麻烦,为什么我的程序安装时,出现expsrv.dll无法注册的提示?expsrv.dll有什么作用?怎样闭掉? 如何在两个结构相同的库之间倒数?? 请问如何简单确定右键点击的是哪个控件? 有哪位高手可以给出windows98登录时网络服务的身份验证模块的程序或相关资料的呢?非常感谢啦 在CTreeCtrl中同时使用系统图标与自定义图标的问题?? SHGetFileInfo()为什么在Win2000下工作不正常? 请问高手:DataGrid的问题 jsp和servlet是怎样交互的? 请问 有什么方法能实现 在几个数中随机取出几个数 谢谢 请问:在执行文件DPR中有一段代码出现错误,请各问指点! 两个问题:1 关于.NET中 一个新控件propertyGrid1的使用问题;2 我想生成一个由lable和TextBox合成的控件(label在左,TextBox靠其右),怎么办? 分栏打印 依旧是undefined function mysqsl_connect()问题 急:如何在生成的exe中添加新的属性页,显示更多文件信息? V-DVD ROM!? MSDN上的例子需要uafxcwd.lib,怎么找不到呢? 请问窗口的other事件是如何触发执行的 JSP如何学习 vc在什么时候会引起小喇叭的叫声 请教高手,如果在VB里实现内存共享? 用什么方法可以转换图片类型?譬如将BMP格式的转换为JPEG格式的,请各位大哥给点提示!!! 关于vb script数组和函数功能的二个问题!高难度! 关天打印问题? 只能最小化到屏幕的左下角 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm (有关XMLHTTP) 在php中要取出一段字符串的前n个字节,而又要判断最后一个是中文还是英文,如果是中文则将最后半个字符省略应该怎么做? 有在BCB5中用过sapi5朗读中文的朋友,高分送上! 最初级的问题,关于编译程序的。 重庆市信息产业办公室荣获全国最差信息产业办公室称号 大家用PB创建Jaguar应用程序时,一般创建一个大包还是多个包阿? 奇怪的问题,来者有分!没回答问题的先到先得! 如何把临时表建在内存中 请教一个关于DELPHI多线程的问题 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm(有关XMLHTTP) 比爱情少一点,比友情多一点,即不讨厌又不来电,你能做到吗? 一根轻绳上端悬挂在天花板上下端挂一灯泡,则()A灯泡受到重力对绳拉力是一对平衡力B灯泡受重力和绳对灯泡拉力作用力和反作用力C灯泡对绳拉力绳对灯泡拉力是作用力反作用力D绳对天花 万级的计数单位有哪些? 用滑轮组匀速提升重为3000牛的物体,作用在绳子自由端的拉力为625牛,拉力做功的功率为1875瓦,滑轮组的机 电灯的重力为20N,绳AO与天花板间的夹角为45°,绳BO水平,求绳AO,BO所受拉力的大小 自行车上哪些部位要增大摩擦?哪些部位要减小摩擦?这些部位各用什么方法来增大或减小摩擦力的?具体方法 某滑轮组匀速提升重为2000N的物体,作用在绳子自由端的拉力为625N,物体在20S内匀速上升5m滑轮组机械效率为80%,不计绳重和摩擦.1、绳子段数n2、总功功率3、若提升3000N的物体,滑轮组飞机械效率 一个数最高位是百万位,他是()位数;一个九位数,它的最高位是()位 计数单位“兆”以后是什么? 用滑轮组匀速提起400牛重的物体,作用在绳子自由端的拉力需125牛,拉力做功的功率为250瓦,此时滑轮组的机求 动滑轮的重 如果用这个滑轮组匀速提升900牛重物 作用在绳子上的拉力为多少 机械 一个五位数,它的最高位是什么位?一个九位数,一个十二位数呢? 举四个例子说明怎样减小或增大摩擦力 用滑轮匀速提升重为2000牛的物体,作用在绳子自由端的拉力大小为625牛,拉力的功率为1250瓦,滑轮组的机械公式 就是两物体重叠在一起放在水平桌面上,对下面的物体施加水平向又的5N力,物体保持静止,为什么两物体间没有静摩擦?为什么下面对上面没有摩擦… 物体对支持物的压力(或对悬绳的拉力)大于物体所受重力的现象叫做超重.不是支持力大于重力吗怎么这里说的是压力? 高中物理需平衡摩擦力的实验有哪些 要全! 一道有关摩擦力的高中物理题如图所示,一物体分别沿AB、BO轨道由静止从斜面顶端滑到底端,物体与轨道间的动摩擦因数相同,物体克服摩擦分别为W1和W2则( ).A.W1>W2 B.W1=W2 C.W1 一道科学物理力学上的求绳端拉力F的题重物A是体积为10立方分米,密度为7.9*10三次方 千克/立方米的实心金属块,将它完全浸没在水中,始终未提出水面.若不计摩擦和动滑轮重,要保持平衡,求: 高中物理力学实验哪些需要平衡摩擦力哪些不用?为什么? 如果拉物体,物体没有动,摩擦力是物体的拉力吗?物体动了,无论拉力多少,摩擦力是最大静摩擦吗?为什么最大静摩擦略大于滑动摩擦?为什么静摩擦力大小与压力无关,但与最大静摩擦力成正比? 计数单位是什么 高中物理必修一二中哪些实验需平衡摩擦力? 一个九位数,最高位上的数字是最大的一位数,十万位和百万位上的数字都是1,万位上的数字是5,上的数字都是0,这个数写作( ),省略“万”后面的尾数记作约( )万. 一道关于摩擦力的高中物理题题目大概就是人两手之间放置若干本书,双手压力不变,求最多能放几本,我一直弄不清书本与书本间的摩擦力的作用力与反作用力,应该是中间的书先掉还是两边的 个级的计数单位有哪些 一个9位数,最高位和十万位上的数是6,其余各位都是5,这个数写作什么,省略到万后面的尾数约是 从个位起,第五位是万位,第八位是千位,它们的计数单位分别是? 计数单位都有哪些? 最高位是千万位的数是一个八位数,其中最大的九位数是几?最小的九位数是几? 在数位顺序里,小数点左边第一位是【 】位,计数单位是【 】,第五位是【 】位,计数单位是【 】. 高中物理中,m 一个数的最高位是亿位,这个数肯定是九位数.是对是错? 在数位顺序表里,小数点左边第一位是()位,计数单位是(),第五位是()位,计数单位是().小数部分的最高位是()位,计数单位是() 物体受重力、支持力、摩擦力、拉力,属于弹力的有什么? 一个数的最高位是亿位,这个数一定是一个九位数.对还是错 在数位顺序表中,从个位起,第五位是()位,计数单位是();第八位是()位,计数单位是(). 万级的数位有( ),它们的计数单位分别是( ) 用定滑轮将重力为500牛的物体以1米/秒的速度匀速提升,不记摩擦.求(1)绳子的拉力;(2)10秒拉力做的功. 在光滑或粗糙斜面上拉力与物体重力的关系?注意摩擦力 如何区分“数位”和“计数单位” 当一物体在桌面上静止时,它受到的静摩擦力的大小,方向,作用点个是什么?!物理好的朋友帮忙答一下.有用的再多给!例如:一本新华字典在水平粗糙的桌面静止.那么它受到的静摩擦力的方向, 斜面机械拉力为什么克服物体的重力做功斜面拉力是等于物体重力加摩擦力吗?如果是,那么按网友回答“物体被视为一边向上运动,一边横着运动”向上的力与重力是平衡力,那么横着的力不应 数位和计数单位的区别? 一个十位数,它最高位是(),从右边数第七位是(),计算单位是() 关于重力、弹力、摩擦力下面说法正确的是A.重力与物体的质量和所在的地理位置有关 B.摩擦力可能与物体相对于地面的运动方向相同 C.有弹力就一定有摩擦力 D.在粗糙程度一定的情况下,接 在升降机的天花板上用轻弹簧悬挂一个小球,升降机静止时,弹簧伸长量为4cm,升降机运动时,弹簧伸长量为3cm,则升降机的运动情况可能是A.以a=1/4g的加速度加速下降B.以a=3/4g的加速度加速下降C. 一个九位数,他的最高位是( ),计算单位是( ) 下列关于重力、弹力和摩擦力的说法正确的是?A静摩擦力的大小在零和最大静摩擦力之间 B劲度系数越大的弹簧,产生的弹力越大 C动摩擦因数与物体之间的压力成反比,与滑动摩擦力成正比 D物 电梯的天花板上悬挂着一根弹簧,弹簧下端悬挂一重物,电梯向上做匀速直线运动,电梯停止后小球运动状况 高中物理向心力什么时候是重力减弹力什么时候弹力减重力RT,我高一 关于弹力和摩擦力,下列说法正确的是:A、有弹力一定有摩擦力B、有摩擦力一定有弹力C、摩擦力的大小和弹力大小成正比D、弹力的方向一定和摩擦力方向垂直具体分析一下,最好有反例 数位和计数单位意义不同对吗 “弹力大小与物件受到的重力成正比”这句话对不?为什么? 请举出增大有益摩擦力的两个方法和+减少有害摩擦力的方法 绳端拉动一米,滑轮组内的物体上升几米?有公式吗 挂在天花板上的电灯所受的重力跟和绳对灯的拉力是不是相互作用力?为什么? 增大摩擦力和减小摩擦力的办法? 某人用25牛的力拉滑轮组的绳子移动4米,而总重为80牛的物体只升高1米,则滑轮组的机械效率为多少如果是对的,没有过程也行 竖直悬挂在天花板上的电灯,除了受到重力外还受到一个绳子的弹力,问这个弹力是否就是绳子的拉力? 请举出增大有益摩擦力的两个实例和方法和 减少有害摩擦力的两个实例和方法 用滑轮组匀速提升重2000N的物体,作用在绳子自由端的拉力大小为625N,拉力做功为12500J,滑轮组的机械效率为80%,不计轮与转轴之间的摩擦和绳重.(1)求物体上升的高度;(2)如果使用这个滑
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn