procedure TFmAutobs.toprofieldcontroltype;
var
S,S1,S2,flag,tblName,fieldName:String;
j:integer;
st:TStringList;
begin
st:=TStringList.Create;
try
// for i := 0 to listbox1.Items.Count-1 do
begin
with autodm do
begin
qd.Close;
qd.SQL.Clear;
// tblName:=listbox1.Items[i];
tblName:=UpperCase(Edit2.Text);
qd.SQL.Add(‘select * from [dbo].[FieldPropertyDict] where [tblName]=’+QuotedStr(tblName));
qd.Open;
while not qd.Eof do
begin
fieldName:=qd.FieldByName(‘fieldName’).AsString;
S1:=qd.FieldByName(‘fieldFullcomments’).AsString;
S:=qd.FieldByName(‘types’).AsString;
st.Clear;
st.Delimiter:=’ ‘;
st.DelimitedText:=s1;
flag:=‘1’; //dbedit
{1:S3:=‘dbe’+inttostr(I)+’: TDBEdit’;
2:S3:=‘btn’+inttostr(I)+‘: TcxDBButtonEdit’;
3:S3:=‘dte’+inttostr(I)+‘: TcxDBDateEdit’;
4:S3:=‘cbo’+inttostr(I)+‘: TcxDBComboBox’;
5:S3:=‘chk’+inttostr(I)+‘: TDBCheckBox’;
6:S3:=‘mem’+inttostr(I)+‘: TcxDBMemo’;}
for j := 0 to st.Count-1 do
begin
s2:=st[j];
S2:=UpperCase(S2);
if S2=‘AA’ then flag:=‘2’;
if S2=‘BB’ then flag:=‘4’;
end;
S:=LowerCase(S);
if (S='datetime') or (S='date') then flag:='3';
qd1.Close;
qd1.SQL.Clear;
qd1.SQL.Add('UPDATE [dbo].[FieldPropertyDict] SET [fieldcontroltype] = '+Quotedstr(flag));
qd1.SQL.Add(' WHERE ([tblName]='+QuotedStr(tblName)+') and ([fieldName]='+Quotedstr(fieldName)+');');
qd1.ExecSQL;
qd.Next;
end;
end;
end;
finally
st.Free;
end;
end;