我希望使用数据库中的数据动态建立控件,我的程序如下:
var
MyLabel: TLabel;
MyEdit: TEdit;
myleft,mytop,mytop1:integer;
addrecord:Taddrecord;implementation
procedure Taddrecord.FormCreate(Sender: TObject);
var
showsql,sql,fieldname,cfname:String;
begin
myleft:=24;
mytop:=60;
mytop1:=45;
addshowQuery.Close;
addshowQuery.SQL.Clear;
showsql := 'select * from DEPAR_defining where DEPARTID = 1 and isview = 1';
addshowQuery.SQL.Add(showsql);
addshowQuery.Open;
addshowQuery.Recordset.MoveFirst;
while not addshowQuery.Recordset.EOF do
begin
myedit := Tedit.Create(self);
myedit.Parent := addrecord;
with myedit do
begin
left:=myleft;
top:=mytop;
width:=100;
height:=21;
//onkeydown:=myedit_keydown;
fieldname := addshowQuery.Recordset.Fields[2].Value;
//edit1.Text := edit1.Text+' '+fieldname;
name:='edit'+fieldname;
text:='';
cfname := addshowQuery.Recordset.Fields[8].Value;
visible := true;
//hint :='请录入' +cfname;
end;
myleft := myleft + 150;
if myleft> 1024-100-24 then
begin
myleft:=24;
mytop:=mytop+40;
end;
addshowQuery.Recordset.MoveNext;
end;
end;
表DEPAR_defining中的字段全为char,这是一个子窗口,我在调用它的窗口(也为子窗口)中写了如下代码调用:addrecord:=Taddrecord.Create(Self);
addrecord.show;但是结果让我很奇怪,程序不报错,一切正常,结果出现的是一个空窗口!!!!我的数据库中保证有数据。使用的是ACCESS数据库。
我把这段程序放在一个单独的工程中,只有一个窗口,它出来过,现在出不来,这是为什么?多谢各位高手了!!!
var
MyLabel: TLabel;
MyEdit: TEdit;
myleft,mytop,mytop1:integer;
addrecord:Taddrecord;implementation
procedure Taddrecord.FormCreate(Sender: TObject);
var
showsql,sql,fieldname,cfname:String;
begin
myleft:=24;
mytop:=60;
mytop1:=45;
addshowQuery.Close;
addshowQuery.SQL.Clear;
showsql := 'select * from DEPAR_defining where DEPARTID = 1 and isview = 1';
addshowQuery.SQL.Add(showsql);
addshowQuery.Open;
addshowQuery.Recordset.MoveFirst;
while not addshowQuery.Recordset.EOF do
begin
myedit := Tedit.Create(self);
myedit.Parent := addrecord;
with myedit do
begin
left:=myleft;
top:=mytop;
width:=100;
height:=21;
//onkeydown:=myedit_keydown;
fieldname := addshowQuery.Recordset.Fields[2].Value;
//edit1.Text := edit1.Text+' '+fieldname;
name:='edit'+fieldname;
text:='';
cfname := addshowQuery.Recordset.Fields[8].Value;
visible := true;
//hint :='请录入' +cfname;
end;
myleft := myleft + 150;
if myleft> 1024-100-24 then
begin
myleft:=24;
mytop:=mytop+40;
end;
addshowQuery.Recordset.MoveNext;
end;
end;
表DEPAR_defining中的字段全为char,这是一个子窗口,我在调用它的窗口(也为子窗口)中写了如下代码调用:addrecord:=Taddrecord.Create(Self);
addrecord.show;但是结果让我很奇怪,程序不报错,一切正常,结果出现的是一个空窗口!!!!我的数据库中保证有数据。使用的是ACCESS数据库。
我把这段程序放在一个单独的工程中,只有一个窗口,它出来过,现在出不来,这是为什么?多谢各位高手了!!!
解决方案 »
- Tlistview的复选框操作!
- 求组如何用快捷键实现CHECKBOX
- 数据库修改问题!
- 简单问题 在先等待
- ado连接access数据库的问题?????
- 这个问题很有挑战性
- 如何发布ASA(Adaptive Server Anywhere 6.0)数据库的程序(指不需安装ASA,只发布一个dbeng6.exe文件或其它很少的文件)并且在Delphi中怎
- 如何使用winexec
- 比较急!!从来没有作过帮助,今天第一次,在线请教ms help workshop的用法.
- 求平均值时,显示的小数位数太多,怎么才能让其只显示2位小数呢。
- 急问题,在线等
- 我在几个PANEL里面有好多图片可以共有?我想使用IMAGELIST,可是IMAGE控件没有IMAGELIST属性,怎么办?
addrecord:=Taddrecord.Create(Application);
试一下,你整理一下你的代码,有些乱
myedit.Parent := addrecord;
改为
myedit.Parent := self;
檢查這句, addrecord 是什麼??>> text:='';
用
addshowQuery.First;
addshowQuery.Next;
就好