我做了一个测试的程序,有两个控件,一个database一个query。
当把这两个控件放在Form上时一切正常,当把它们放到datamodule中时就报错。
代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
with datamodule1 do begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from tablename');
query1.Open;
end;
end;
请问这是什么问题?
当把这两个控件放在Form上时一切正常,当把它们放到datamodule中时就报错。
代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
with datamodule1 do begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select * from tablename');
query1.Open;
end;
end;
请问这是什么问题?
解决方案 »
- 今日面试题目:adoquery 访问储存过程,返回N个数据集,但是只取第三个!
- 菜鸟问题!!!!!
- 请板上牛人帮忙解决一个sqlserver数据库按时间查询的问题。
- 我写的一篇散文,请大家看看。[正式投票开始了] 又100分。
- 我是初学者,请各位高手帮忙
- 如何直接对JPG图像进行矩形区域复制?分不够可以再加!
- 文件操作的问题,请各位大虾指点迷经!
- 关于Printer.Canvas.TextOut( x, y, 'xxxxx')中x , y尺寸的单位
- 有关Access的SQL语句的书写问题:
- 请求帮忙翻译代码
- DBGrid的问题
- 求教!用adoconnection 连接一个带密码的access库!连接总是提示出错.!
就是在from对应的单元文件中uses一下
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2; //这里引用Unit2,我的Unit2就是一个datamodule{$R *.dfm}end.
至于datamodule本身是不是有什么要设定我就不是很清楚了。不过我以前用的时候
好像对datamodule是没什么要动的。
报错内容:
project project1.exe raised exception class EAccessViolation with message 'Access
violation at address 0047316B in module 'project1.exe'Read of address 00000054'.Process stopped.Use step or run to continue.