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

在Delphi数据库应用程序中常见错误,第1张

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键后焦点跳转顺序无规律

lishixinzhi/Article/program/Delphi/201311/8471

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

这是一个测试d出对话框的小程序,用到了这个函数“function MessageDlg(const Msg: stringDlgType: TMsgDlgTypeButtons: MsgDlgButtonsHelpCtx: Longint): Integer”可是在编译的时候却不能运行,Delphi报错: ':=' expected but '=' found。不知道该怎么改,麻烦大家看看:

unit Unit1

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls

type

TForm1 = class(TForm)

Button1: TButton

procedure Button1Click(Sender: TObject)

private

{ Private declarations }

public

{ Public declarations }

end

var

Form1: TForm1

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject)

begin

if MessageDlg('你要离开系统吗?',mtconfirmation,[mbYes,mbNo],0)=mrYes then

begin

MessageDlg('系统关闭中',mtInformation,[mbOK],0)=mrOK then

Close

end

end.

解析:

procedure TForm1.Button1Click(Sender: TObject)

begin

if MessageDlg('你要离开系统吗?',mtconfirmation,[mbYes,mbNo],0)=mrYes then

begin

if MessageDlg('系统关闭中',mtInformation,[mbOK],0)=mrOK then

Close

end

end

掉了一个if和end

还有已经给了提示了':=' expected but '=' found

期望是:=,但是找到的是=


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

原文地址: https://www.outofmemory.cn/yw/11725452.html

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

发表评论

登录后才能评论

评论列表(0条)

保存