当前位置:首页 » 数据仓库 » delphidb数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

delphidb数据库

发布时间: 2023-06-02 05:53:27

A. DELPHI基础教程:Delphi开发数据库应用程序概述(一)[3]

Visual Query Builder 以可视化的方式建立SQL语句对数据库表和表中的记录进行操作

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

SQL links使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据 这些服务器包括ORACLE Sybase Microsoft SQL Server Informix InterBase 当安装SQL Link驱动程序之后 SQL语句便可以直接操作服务器上的数据

Delphi可以访问的数据源(DataSource)

Delphi数据库应用程序是通过BDE获取它们所需的数据的 BDE与不同类型的数据源打交道 BDE可以使用的数据源有如表 所示

表 Delphi可访问的数据源

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

数据源(DataSource) 特 性 描 述 文件扩展名

─────────────────────────────────────

dBASE数据库 数据库表是通过dBASE数据库管理系统或DBD建立的 每个表是一个独立的文件 DBF

─────────────────────────────────────

Paradox数据库 数据库表是通过Paradox数据库管理系统 DB或DBD建立的 每个表是一个独立的文件

─────────────────────────────────────

ASCII文件 表是通过Database Desktop建立的 每个 TXT表是一个独立的文件

─────────────────────────────────────

本地InterBase服务器 数据库是通过InterBase数据库管理系统 GDB建立的 多个表包含在一个数据库文件中

─────────────────────────────────────

SQL数据库服务器 数据库是通过相应的数据库服务器提供的 依赖不同的ORACLE Sybase Informix 专用或通用工具建立的 也可以通过DBD来 数据库管理Microsoft SQL Server 创建数据库 并通过SQL Link访问数据库 系统InterBase

─────────────────────────────────────

ODBC数据源 主要是指那些具有ODBC接口的数据库系统 依赖于相应如MS Access Btrieve等的数据库

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Delphi数据库的体系结构

Delphi使用可视化的部件创建数据库应用 跟创建其它的非数据库应用程序一样 数据库部件都具备一定的属性 程序设计人员可以在设计过程中设置部件的多种属性 也可以在程序运行过程中通过程序来设置部件的各种属性

在Delphi部件板上有两页数据库部件用于开发数据库应用程序

数据访问部件页 该页上的部件主要用于说明有关的数据库的信息 如应用程序要访问(连接)的数据库 要访问数据库中的具体的数据库表 以及要访问表中哪些字段等 在实际的开发应用中常用的部件有TDataSource TTable TQuery等

数据控制部件页 该页上的部件主要用于显示浏览数据库中的数据信息 为用户提供了一个可视化的界面 常用的部件有 TDBGrid TDBEdit TDBCheck等 可以让用户对数据库中的信息进行有效的浏览 编辑 插入 删除等操作

TTable TQuery TStoredproc部件负责与实际的数据库表联系 并从中获取数据信息 因而它们又常常被称为数据集部件 它们在程序设计过程中是可见的 但在程序运行时是不可见的 它们通过 BDE 为应用程序提供与数据库的连接 数据控制部件通过TDataSource部件与数据集部件相连 为用户提供一个可视化的界面 并在其中显示数据库中的数据信息

数据访问部件

数据访问部件页上提供了一组数据访问部件用来访问数据库中的数据

当要创建一个数据库应用时 首先在窗体中选择一个数据访问部件 然后为数据访问部件设置有关的属性 说明要访问的数据库 数据表以及表中的记录等 数据访问部件为数据控制部件与数据源建立一条通道 数据访问部件在程序运行时是不可见的 下表列出了数据访问页上的数据访问部件以及它们的主要用途

表 数据访问部件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

部件名称 主 要 用 途

────────────────────────────

作为数据集部件TTable TQuery StoredProc组TDataSource 件与数据浏览件TDBGrid TDBEdit之间传送数据的通道

────────────────────────────

TTable 它是存取磁盘上数据库表的媒介 它通过BDE存取数据库表中的数据 TTable再与TDataSource进行 对话 使得数据浏览部件能够有效地从TTable中访问数据并能显示和编辑其中的数据

────────────────────────────

TQuery 它利用SQL语言访问磁盘上数据库表中的数据 并与TDataSource 对话 实现数据浏览部件对数据库的访问

────────────────────────────

TStoredProc 在应用程序中 它主要用来访问远程服务器中的存贮过程

────────────────────────────

TDatabase 当应用程序要登录到一个远程服务器上的数据库时 可以用该部件来建立应用程序与数据库永久

性的连接

────────────────────────────

TBatchMove 用于复制数据库表的结构或表中的记录

────────────────────────────

TReport 用于创建数据库的输出报表

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

lishixin/Article/program/Delphi/201311/25180

B. 请问用DELPHI开发单机版的数据库是用.db或.dbf还是.mdb类型

可以用access的.mdb,也可用delphi自带的数据库,我想你开发的是单机版,已足够了.还有,你们单位现在用的是.dbf,可以用delphi自带的工具来转换成你所需要的格式,保证数据不会丢失~~

C. 在Delphi数据库应用程序中常见错误

Delphi数据库应用程序中常见错误 原因/解决方法

数据感知控件DataSource属性未设置或者设置错误(链接为其他的DataSource)

原因 在设计时不小心改动 拷贝粘贴过程中未全部更改

测试时标准代码中没有数据 无法进行测试

解决 确定需悉明咐要输入数据的表格的先后顺序 在依次输入测试数据 再进行测试

wwFilterDialog中进行数据过滤时 应该显示字段列表的字段没有显示 不方便输入

解决 判断字段 查找标码填充字段列表

运行程序时出现字段未找到的错误

原因 数据库进行了更改 而DataSet的字段列表没有更新

用DBGrid显示数据时 为方便阅读 单数行与奇数行用不同颜色显示 在数据量时 浏览数据时明显感觉到DBGrid数据刷新不够 单数行与奇数行的颜色不能正确显示

原因 DBGrid的 DataSource的DataSet中有较多的查找字段

解决 将部分查找字段去除

窗体标题为英文

原因 设计后未仔细检查

解决 更改为中文

DBNavigator中 刷新 按钮点击后出错

原因未知

解决 去除该按钮

与dxDBGrid配套使用的DBNavigator 在dxDBGrid的模式为LoadAll时 导航按钮与期望的方式不同

原因 dxDBGrid在LoadAll模式时 与DataSet中的数据不一致

解决 去除导航中的部分按钮

存储过程得到的数据集对应的DBNavigator的 刷新 出错

原因 不清

解决 去除该按钮

窗体Show后 进入数据编辑后 部分查找字段编辑时出现数据集未打开

原因 数据集打开顺序有问题

解决 调整数据集的打开顺序 让标码数据集先打开

出现未找到存储过程的错误

原因 数据库的存储过程进行的重命名

解决 更改DataSource中的存储程序名称

wwFilterDialog的标题空白

解决 改为与数据集相关的标题 如 筛选计划

窗体在 * 下设计时 即使窗体为 * 在屏幕分辨率为 * 的时候出现窗体中的内容不能全部显示的现象

解决 * 下设计 * 时预留一定的空间

出现 Couldno t perform the edit because another user changed the record 错误

原因 未知

dxDBGrid在将字段拖曳到分组栏时 不能进行编辑 dxDBGrid中的当前记录与数据感知控件的当前记录不一致

解决 将睁纯二者在不同部分实现 不在同一窗体实现

出现 General SQL Error 错误

原因 未知 但发现在FormShow中打开表很多 尝试将其中部分表不打开时 错误消失 且不打开的表不同时 错误都消失

(系统休眠后)第一次连接数据库时(用户 口令均正确) 出现错误 但第二次则正常

原因 未知

打开/保存对话框未设置过滤条件

解决 设槐饥置合理的Filter DefaultExt

防差错措施不完善 (如输入数据(数字)出错时不报警)

解决 保存前验证正确性判断 设置Mask

数据感知控件DBComboBox应可进行选择和输入的输入框 不能进行输入

解决 更改Style属性为csDropDown

其他更一般的问题

模态对话框 Escape键不起作用

解决 合理设置Button的Canceled属性

模态对话框 回车键不起默认作用

解决 合理设置Button的Defaulted属性

使用Tab键后焦点跳转顺序无规律

lishixin/Article/program/Delphi/201311/8471