要求就是人员我要一次性输完。假如有10个人的名字都记录在Edit1(DBEdit1)中,用什么符号隔开还请指点,公司名字记录在Edit2(DBEdit2)中,然后点击保存。分成10行保存。公司名字都是一样
我用的是:ADOTable1和DBGrid1和ADODatasource想想办法怎么做?
一次添加一个很简单,我现在要这样做不知道怎么办?关键是我还要检查名字有没有重复。我用的是Locate。
我用的是:ADOTable1和DBGrid1和ADODatasource想想办法怎么做?
一次添加一个很简单,我现在要这样做不知道怎么办?关键是我还要检查名字有没有重复。我用的是Locate。
要是老师叫你这么做的,叫他下课吧;用MEMO倒是可以,每一行当作是一个名字,循环添加就行了var
i:Integer;
for i:=0 to memo.Lines.Count-1 do
if Trim(memo.Lines.Strings[i])<>'' then
begin
ADOTable1.Append;
ADOTable1.FieldByName('姓名').Asstring:=memo.Lines.Strings[i];
ADOTable1.FieldByName('公司名称').Asstring:=Edit2.Text;
ADOTable1.Post;
end;
try
post;
except
cancel;
end;就可以了。在新建按钮里面写:append;
vList: TStringList;
i: integer;
begin
vList := TStringList.Create;
try
vList.Delimiter := ','; //默认为","根据需要可以更改
vList.DelimitedText := Edit1.Text; //edit1中添加的数据使用","来分割;
i := 0;
while (i < vList.Count) do
begin
ADOTable1.Append;
ADOTable1.FieldByName('姓名').Asstring := vList.Strings[i];
ADOTable1.FieldByName('公司名称').Asstring := Edit2.Text;
ADOTable1.Post;
inc(i);
end;
finally
vList.Free;
end;
end;
if Trim(memo1.Lines.Strings[i]) <>'' then
begin
ADOTable1.Append;
//ADOTable1.Edit;
ADOTable1.FieldByName('name').Asstring:=memo1.Lines.Strings[i];
ADOTable1.FieldByName('GS').Asstring:=dbEdit5.Text;
GL_main_ZYJM_Edit.Enabled:=False;
ADOTable1.Edit;
ADOTable1.Post;
end;