for i:=0 to ADOQuery1.FieldCount -1 do begin ADOQuery1.Fields[0].Value:='wfefef'; end;
ADOQuery1.sql.add('select * from table'); ADOQuery1.open; for i:=0 to ADOQuery1.FieldCount -1 do begin XXX:=ADOQuery1.Fields[0].Value; ADOQuery1.next; end;
ADOQuery1.SQL.Add('select * from Pmenu where username = '''+s2+''''); try MainForm.ADOQuery1.Open; except Showmessage('数据库打开失败!'); exit; end; //Showmessage(FrmLogin.UserNameEdit.Text+s2); for i:=0 to ADOQuery1.FieldCount -1 do begin if ADOQuery1.Fields[2].Value=0; //我想在这里插一句获得该列的名字的语句 ADOQuery1.Next; end; 请问怎么写??
如何获得每列的名字 TDataSet.FieldDefs[i].Name <-- 每个列的列名字 列名的顺序取决数据库字段的顺序,然后就是 SQL语句罗列的顺序 列子: procedure getTableStru(); var aSqlPK,aSqlFlag,aSqlDataFields begin ....... ......//记录表结构 for i:=0 to FieldDefs.Count-1 do begin //如果是关键字 if (FieldDefs[i].Name = 'PART_NO') or (FieldDefs[i].Name = 'PN_NO') or (FieldDefs[i].Name = 'VERSION_NO') or (FieldDefs[i].Name = 'VERSION_TYPE') then //记录关键字字段 aSqlPK:=aSqlPK+','+FieldDefs[i].Name; end else begin //记录其他字段 aSqlDataFields:=aSqlDataFields+','+FieldDefs[i].Name; //是数据字段 end; end;//for ....... ....... end;//proc //说明 aSqlPK 和 aSqlDataFields 记录关键字字段和其他字段,要注意生成的字符串 开头的字符是 “,”如果要去掉可以使用截取函数 噢可? 如果可以,请给分,谢谢!
var i : integer; begin for i := 0 to Adoquery1.FieldCount - 1 do Memo1.lines.Add(AdoQuery1.Fields[i].FieldName); end;
行用ADOQuery1.next;
MSN:[email protected]
begin
ADOQuery1.Fields[0].Value:='wfefef';
end;
ADOQuery1.open;
for i:=0 to ADOQuery1.FieldCount -1 do
begin
XXX:=ADOQuery1.Fields[0].Value;
ADOQuery1.next;
end;
try
MainForm.ADOQuery1.Open;
except
Showmessage('数据库打开失败!');
exit;
end;
//Showmessage(FrmLogin.UserNameEdit.Text+s2);
for i:=0 to ADOQuery1.FieldCount -1 do
begin
if ADOQuery1.Fields[2].Value=0;
//我想在这里插一句获得该列的名字的语句
ADOQuery1.Next;
end;
请问怎么写??
TDataSet.FieldDefs[i].Name <-- 每个列的列名字
列名的顺序取决数据库字段的顺序,然后就是 SQL语句罗列的顺序
列子:
procedure getTableStru();
var
aSqlPK,aSqlFlag,aSqlDataFields
begin
....... ......//记录表结构
for i:=0 to FieldDefs.Count-1 do
begin
//如果是关键字
if (FieldDefs[i].Name = 'PART_NO') or (FieldDefs[i].Name = 'PN_NO') or
(FieldDefs[i].Name = 'VERSION_NO') or (FieldDefs[i].Name = 'VERSION_TYPE') then
//记录关键字字段
aSqlPK:=aSqlPK+','+FieldDefs[i].Name;
end
else begin
//记录其他字段
aSqlDataFields:=aSqlDataFields+','+FieldDefs[i].Name; //是数据字段
end;
end;//for
....... .......
end;//proc
//说明
aSqlPK 和 aSqlDataFields 记录关键字字段和其他字段,要注意生成的字符串 开头的字符是 “,”如果要去掉可以使用截取函数
噢可?
如果可以,请给分,谢谢!
begin
for i := 0 to Adoquery1.FieldCount - 1 do
Memo1.lines.Add(AdoQuery1.Fields[i].FieldName);
end;