我的代码如下:
var
FMajorGrade:TField;
begin
dataset2.CommandText:='select * from 专业年级';
FMajorGrade.FieldKind:=fkLookup;
FMajorGrade.Lookup :=true;
FMajorGrade.LookupDataSet:=dm2.DSLookup;
FMajorGrade.KeyFields :='专业年级编号';
FMajorGrade.LookupResultField :='专业年级名称';
dataset1.Fields.Add(FMajorGrade);
dataset2.open;
dataset1.open;
运行时系统报错,请问那里错了
var
FMajorGrade:TField;
begin
dataset2.CommandText:='select * from 专业年级';
FMajorGrade.FieldKind:=fkLookup;
FMajorGrade.Lookup :=true;
FMajorGrade.LookupDataSet:=dm2.DSLookup;
FMajorGrade.KeyFields :='专业年级编号';
FMajorGrade.LookupResultField :='专业年级名称';
dataset1.Fields.Add(FMajorGrade);
dataset2.open;
dataset1.open;
运行时系统报错,请问那里错了
解决方案 »
- delphi三层无状态分段取数据
- 使用IndyTcp多线程通讯
- view as text之后,看不见窗体和代码了,怎么弄回来?
- 求救:delphi7读写 xml文件,文件中怎样包含 附件(rar,doc等等二进制)
- 怎么让ADOTable在post不自动自动显示下一条或第一条记录
- 阴差阳错:两次相亲 竟然遇到同一个姑娘![转载]
- 拿到程序,该先从哪部分入手
- 求助:迷茫学子的坎坷IT路!
- 使用ado存储过程,上传图片参数时,大于32k出错
- 给我介绍一下成都电子科技大学计算机的情况,比如系的编号,课程设置,等等,方便我弟报考选择
- delphi与Oracle 连接的问题
- 数据保存时出错,‘list index out of bounds(0)’,请教各位高手。
begin
dm.lookupqry.open; //打开LOOKUP字段要连接到的子表
a := TStringField.Create(dm.editsql_info); //dm.editsql_info要加入lookup字段的表
a.FieldKind := fkLookup; //字段类型
a.FieldName := 'pnames'; //字段名称
a.LookupDataSet := dm.lookupqry; //指定
a.LookupKeyFields := 'id_j';
a.KeyFields := 'id_w';
a.LookupResultField := 'pname';
a.DataSet:= dm.editsql_info;
b := TStringField.Create(dm.editsql_info);
b.FieldKind := fkLookup;
b.FieldName := 'units';
b.LookupDataSet := dm.lookupqry;
b.LookupKeyFields := 'id_j';
b.KeyFields := 'id_w';
b.LookupResultField := 'jobs_j';
b.DataSet:= dm.editsql_info;
能看懂了没有?
var FMajorGrade:TstringField;
begin
dm.DMOA.ADODSOA.CommandText :='select * from 班级表';
dm.DMOA.DSLookup.CommandText:='select * from 专业年级';
dm.DMOA.DSLookup.Open;
FMajorGrade:=Tstringfield.Create(dm.DMOA.ADODSOA );//要加入的表
FMajorGrade.FieldKind:=fklookup;
FMajorGrade.FieldName :='专业年级名称';
FMajorGrade.LookupDataSet:=dm.DMOA.DSLookup ;
FMajorGrade.LookupKeyFields :='专业年级编号';
FMajorGrade.LookupResultField:='专业年级';
FMajorGrade.Lookup :=true;
FMajorGrade.KeyFields :='专业年级编号';
FMajorGrade.DataSet:=dm.DMOA.ADODSOA;
ds.DataSet:=dm.DMOA.ADODSOA ;
dm.DMOA.ADODSOA.Open;
end;
报错,找不到keyfields设的那个字段!
根据不同的类型加:var c:TAutoIncField;
d,g,h,i:TstringField;
e,f:TDateTimeField;
j:TMemoField;
begin
c.FieldName := 'pnumber';
c.DataSet := dm.editsql_info;
d.FieldName := 'id_w';
d.DataSet := dm.editsql_info;
e.FieldName := 'starday';
e.DataSet := dm.editsql_info;
f.FieldName := 'endday';
f.DataSet := dm.editsql_info;
g.FieldName := 'jobs_w';
g.DataSet := dm.editsql_info;
h.FieldName := 'duty_w';
h.DataSet := dm.editsql_info;
i.FieldName := 'poples_w';
i.DataSet := dm.editsql_info;
j.FieldName := 'memos_w';
j.DataSet := dm.editsql_info;//你可以写个函数来自动处理这个过程,不要一个个手动的加。