先查找表 class 的classname获取相应的classid.
用TQuery组件 select * from class where classname=指定值
通过
Query.fieldbyname("classid") 可以获取classid.
然后插入的时候用这个值不就行了!
用TQuery组件 select * from class where classname=指定值
通过
Query.fieldbyname("classid") 可以获取classid.
然后插入的时候用这个值不就行了!
如:
tuxedoquery1.sql.clear;
tuxedoquery1.sql.add(sqltext);
try Tuxedoquery1.OPEN;
except
begin
infodlgform.showbox('数据库连接失败!');
exit;
end;
end;
TuxedoQuery1.First;
while not TuxedoQuery1.Eof do
begin
xzMC.Items.Add(TuxedoQuery1.fieldbyname('dxxzmc').asstring);
xzdm.Items.Add(TuxedoQuery1.fieldbyname('dxxzdm').asstring);
Tuxedoquery1.Next;
end;
xzMC.ItemIndex:=0;
xzdm.ItemIndex:=0;
end;procedure TForm_fyjs.xzmc_1Change(Sender: TObject);
begin
xzdm_1.itemindex:=xzmc_1.itemindex;
end;
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
DataSet填Class表的DataSet
LookupKey填Class表的ClassID
Result Field填Class表的ClassName这样在数据输入的时候当输入班级信息的时候使用你增加的Lookup字段就可以满足你的要求了!
班级名,
加入时
classname:string;
classname:=combobox.text;
query1.colse;
query1.sql.clear;
query1.sql.add('select classid from class where classbname=''%s'' ')
);
query1.prepare;
query1.open;
format(sql,[classname]);
选出classid,
加入表就行了
如
if sender.asstring='' then
text:='空'
else
text:=sender.asstring;
在onsettext事件中写:
try
if text<>'' then
begin
Query1.edit;
Query1.fieldbyname('zd').asstring:=text;
end
else
begin
Query1.edit;
Query1.fieldbyname('zd').clear;
end;
except
//
end;
begin
Query1.edit;
Query1.fieldbyname('zd').asstring:=text;//在赋值之前请将名称转化成代码。
end
else