如何取access某个表的所有列信息和索引(.net)

如何取access某个表的所有列信息和索引(.net),第1张

access数据库不同于oracle和sql server,系统表没有提供表的列信息和索引等信息,所以取这些信息就不是简单的sql 语句能完成的,查了一下,用adox能很好的完成这些功能(在,net中也可引用adox),不过在net中OleDbConnection提供了很好的方法取列信息:DataTable MyDbSchemaGuid_Col= connGetOleDbSchemaTable(OleDbSchemaGuidColumns,new object[]{null,null,thisTableName});取列索引:DataTable MyDbSchemaGuid= connGetOleDbSchemaTable(OleDbSchemaGuidIndexes,new object[]{null,null,null});具体用法可以查一下net的帮助:)以上纯属抛砖引玉!

Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。

Access能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。

其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。

概述

Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等 *** 作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

历史

Microsoft Access 10 版本在1992年11月发布。

微软指定它对系统最小要求为视窗30配以4兆节内存.6兆节内存配以最小8兆节硬盘空间(建议最好有14兆节硬盘空间)则为建议的系统要求.当时软件以7张144兆节软碟发布的载体.

这个软件能够有效地处理大量记录但是测试显示在某些情况下会导致数据损毁.比如说,大小超过700MB的文件常会出问题。(值得注意的是在10版广泛应用的时候大多数硬盘是小于700MB的。)软件的使用指南指出过时的设备驱动和错误的配置可能回导致数据丢失。

Access的最初名称是Cirrus。它开发于Visual Basic之前,当时的窗口引擎称作Ruby。比尔盖茨看过Ruby的原型后决定把这个基于Basic语言的组件作为一个独立的可扩展应用程序与Access联合开发。这个项目称作Thunder。这两个项目互相独立的被作为底层的窗口引擎开发并且互不兼容。 然而,在VBA出现后它们被合并在一起。

用途

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在Internet Information Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server.

它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。

一些专业的应用程序开发人员使用 Access 用作 快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高.因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。无论如何,不少 Access 的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括 JET(档案为主的数据库引擎,Access 缺省使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的产品。这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。

很多开发者谁使用Microsoft Access使用Leszynski命名约定,虽然这不普遍;它是一次编程大会,并非一个DBMS实施的规章。

特性

一好处进入从程序员视角在它的有关兼容性有SQL-质问可能被观看并且作为SQL语句编辑,并且SQL语句直接在巨视和VBA模里可以被使用 *** 作进入桌子。用户可能混合并且使用两个VBA并且"宏"编程形式和逻辑既没提供面向对象的可能性。

导入导出报表的生成程序,当时有能力和到这项任务的复杂报告创造,没有另一受欢迎数据库报表程序的生成程序充满特色和强有力-水晶报告。MSDE(微软公司SQL服务器桌面发动机)2000,袖珍版本的MSSQL服务器2000,被包括开发版的办公室XP并且被用于进入可能作为除之外的另一种选择JET数据库引擎。(尽快的版本的MSDE和微软公司交换服务器实际上使用这台喷气发动机处理巨大大量数据并且安置一“赝品”在它之上的那些应用的应用层。大约这事实的缺乏知识因进入/喷口家庭的软件产品而为不该受不敬做贡献,特别是关于"大"工程。)

进入分割和粘贴功能性能使它有用工具在其他数据库之间连结(例如,在数据或者数据库变换期间的Oracle和微软公司SQL服务器)。进入与给与窗子和其他平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。例如非常紧密SNP完全格式化的为分享的形式与没有全部的进入软件的人们报告。它也能容易被升级到微软公司SQL服务器。

与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。自从MS Access 2000 (Jet 40),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序.当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。

发展

进入可提供的编程语言,当时在另一个内产品Microsoft Office家具,微软公司应用的Visual Basic。两个数据库进入讯息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。

MicrosoftAccess容易被应用于小的工程但是规模无效对大的工程如果应用被不好设计。

全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。

一种设计技术是把进入应用在数据和计划之间进行分发。一数据库应该只包含桌子和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库桌子的连接。令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能"动态连接程序"常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。

这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。

比如

电信公司

那里,有个

电话记录表

包含下面的字段

日期/时间

打电话的号码

接电话的号码

接通时间

接入交换机

很多字段

如果没有索引,

你要去查询

这个月,

谁给你打电话了

那么

数据库要把

这一个月的所有记录,

都读取出来

也就是差不多要

“全表扫描”了

分析

接电话的号码

是不是

等于

你家的电话号码

如果是的话,

还要把

打电话的号码

返回给你

如果

接电话的号码

字段上面,有个索引

那么

数据库

就可以迅速的定位到你的号码

索引的机制,就是

一个

类似

树形的存储结构

比我数据大的,都在我的左边的节点那里

比我数据小的,都在我的右边的节点那里

这样,可以迅速的

找到你家的电话号码

找到你家的电话号码之后

索引那里,存储有

记录的

实际的

物理地址

然后,数据库,根据物理地址

只检索那几条特定的记录

然后把那几条特定的记录的

打电话的号码

返回给你

在使用过程中出现的问题,应该是往数据库添加数据时报错的吧,也就是说在添加一条记录时主键ID为空,你检查下你添加记录时主键(ID)是自动生成的还是手动输入的,如果是手动输入的则必须输入ID才能添加。一般来说添加数据时如果数据库的非空字段值为空都会有提示的,如“XX不能为空”。

这种列程应该比较多吧,我最近想写的一个软件也有这个功能 附上源码你参考下吧

版本 2支持库 iext

程序集 起动窗口程序集

子程序 __启动窗口_创建完毕

判断开始 (外部数据库1打开MDB数据库 (取运行目录 () + “\data\mpdatamdb”, , “mp611”, , ) = 真)

信息框 (“欢迎使用加菲猪售后管理系统”, 0, )

默认

信息框 (“系统启动失败!”, 0, )

判断结束

刷新列表框 ()

子程序 刷新列表框

局部变量 记录集句柄, 整数型

局部变量 索引, 整数型

记录集句柄 = 外部数据库1查询 (“select from wxdj”)

超级列表框1全部删除 ()

判断循环首 (外部数据库1尾记录后 (记录集句柄) = 假)

索引 = 超级列表框1插入表项 (, 外部数据库1读 (记录集句柄, “djbh”), , , , )

超级列表框1置标题 (索引, 1, 外部数据库1读 (记录集句柄, “yhxm”))

超级列表框1置标题 (索引, 2, 外部数据库1读 (记录集句柄, “lxdh”))

超级列表框1置标题 (索引, 3, 外部数据库1读 (记录集句柄, “sjggxh”))

超级列表框1置标题 (索引, 4, 外部数据库1读 (记录集句柄, “sjch”))

超级列表框1置标题 (索引, 5, 外部数据库1读 (记录集句柄, “gzms”))

超级列表框1置标题 (索引, 6, 外部数据库1读 (记录集句柄, “sxrq”))

超级列表框1置标题 (索引, 7, 外部数据库1读 (记录集句柄, “sxry”))

超级列表框1置标题 (索引, 8, 外部数据库1读 (记录集句柄, “fhrq”))

超级列表框1置标题 (索引, 9, 外部数据库1读 (记录集句柄, “tzqj”))

外部数据库1到后一记录 (记录集句柄)

判断循环尾 ()

外部数据库1关闭记录集 (记录集句柄)

以上就是关于如何取access某个表的所有列信息和索引(.net)全部的内容,包括:如何取access某个表的所有列信息和索引(.net)、Access 索引的作用是什么、access数据库 通过为数据表建立索引,能够加快在字段中搜索及排序的速度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10203531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存