ได้คำตอบแล้วครับ เผื่อใครจะหาวิธีทำแบบนี้อยู่ครับ ให้ไว้เป็นแนวครับ
procedure TForm1.Button1Click(Sender: TObject);
VAR
num : integer ;
cid : string ;
count : integer ;
sex : string ;
begin
num := 1 ;
count := MyQuery1.RecordCount;
ProgressBar1.Max := count;
MyQuery1.First;
while not MyQuery1.Eof do
begin
ProgressBar1.Position := ProgressBar1.Position + 1;
// Sleep(1);
sex := myquery1.fieldbyname('sex').asstring;
cid := myquery1.fieldbyname('cid').asstring;
if sex = '1' then
begin
MyQuery2.Open;
MyQuery2.Edit;
MyQuery2.SQLUpdate.Text := 'Update person set lname = "1" where cid = '+'"'+cid+'"';
MyQuery2.Post;
end;
if sex = '2' then
begin
MyQuery2.Open;
MyQuery2.Edit;
MyQuery2.SQLUpdate.Text := 'Update person set lname = "2" where cid = '+'"'+cid+'"';
MyQuery2.Post;
end;
MyQuery1.Next;
end;
end;
ไม่ควรเขียนแบบนี้ครับ ควรเขียนแบบนี้
myquery2.sql.text:='select * from patient where cid = '+QuotedStr(cid);
myquery2.open;
while not myquery2.eof do
begin
myquery2.edit;
if myquery2.fieldbyname('sex').asstring = '1' then
myquery2.fieldbyname('lname').asstring:='1' else
if myquery2.fieldbyname('sex').asstring = '2' then
myquery2.fieldbyname('lname').asstring:='2' ;
myquery2.post;
myquery2.next;
end;
myquery2.close;