2011-02-03 56 views
1

背景如何获取数据库值进出代码。在Delphi 7

我想提出一个简单的程序与数据库.MDB记录数据,并做一些计算。通过喷气访问4.

AIM

我希望能够获得值超出/成任何字段从SQL查询在主键(一个结果)

CURRENT

我已经当前连接到数据库,我能够以查看经由“数据控制”

编辑数据,如下所示:

enter image description here

问题

如何访问数据库中的数据,这样我可以把值到合适的变量,然后将它们写回?

回答

7

JørnAngeltveit的答案听起来像直接的方式来做至少你想要的一部分。他给你的方式来获得实地价值。但要认识到,仅仅改变该字段的值不会更新数据库中的记录;要做到这一点,你还需要调用数据集的Post方法。你的问题是一个非常基本的问题,如果你正在建立一个数据库后端应用程序,你可能会阅读如何使用Delphi编写数据库应用程序。如果您尝试继续学习Delphi TDataset组件的基础知识,那么您很可能会以凌乱的方式和额外的工作结束。

编辑:这里有一些有用的文档在TDatasets CodeGear网站的链接。这可能是非常相似,你会在Delphi 7帮助系统找到文档(尽管通过内置的帮助找到自己的方式,有时可能会造成混淆): http://docs.codegear.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/fhxr30623_xml.html

这里有一个良好的网上一系列实际的重点使用Delphi的ADO数据库组件访问.mdb: Beginner's Guide to Databases with Delphi

另外,Marco Cantu在他的书Mastering Delphi中有很好的章节。您可以在亚马逊上购买一份旧版本,但没有多少钱。在学习Delphi 7时,我使用了Mastering Delphi 6,这是很好的资源。掌握德尔福7是可用的,但我会省下几块钱,并获得Mastering Delphi 6的使用副本: http://www.amazon.com/Mastering-Delphi-6-Marco-Cantu/dp/0782128742/ref=sr_1_6?ie=UTF8&qid=1296705281&sr=8-6

2

MyDataSet.FieldByName('TheFieldName').AsString := myString;(反之亦然)你在找什么?

0

有很多方法可以做你在问什么。

最直接的方法是使用TDataset的后代。 Delphi中最常见的用于访问Microsoft Jet的应用程序可能是dbGo(ADO Express在Delphi 5中引入时)。如果你已经连接了用户界面,你可能已经在使用它了。您可以直接在代码中访问您用来挂接到您的用户界面的相同表格和查询。TADOQuery和TADOTable都支持(使用Next),搜索特定的记录通过数据集步进(使用LocateSeek)和(使用FieldbyNumberFieldbyName

对于中小型应用程序访问字段这是坚持最简单的方法你的数据。或者,您可以使用已经连接到数据源的UI控件访问相同的数据。所有的Delphi标准db aware控件都有一个Field属性,并且许多都有Text属性。

对于具有复杂业务规则的大型应用程序,推荐使用ORM(Object/Relational Mapper)作为持久层的领域层。

当然,随着时间的推移,小项目可以变成大项目。所以这样做会对你有所帮助。

相关问题