以下代码功能:
实现 从spsb_ck 表中搜寻一条ckdh为 combobox2.text的记录1
然后在spsb_ck中追加一行 将 记录1的内容复制到增加的行中 并对增加的行某些字段进行编辑
出现的问题:记录并不为空 可是数据表中并没有出现增加的行
ADOth.Close;
ADOth.SQL.Text:='select * from SPSB_CK where ( spjp = '''+trim(edit6.Text)+''') and (ckdh='''+trim(ComboBox2.Text)+''')'+
' and (ph='''+trim(edit9.Text)+''')'+'and (cjjp='''+trim(edit2.Text)+''')';
ADOth.Open;
//在出库表中追加一行并编辑
ADOjth.Close;
ADOjth.SQL.Text:='select * from SPSB_CK ';
adojth.Open;
adojth.Append;
for it:=0 to adoth.fieldcount-1 do
adojth.FieldByName(adoth.Fields[it].FieldName).Assign(adoth.Fields[it]);
adojth.FieldByName('ckdh').AsString:=trim(edit1.Text);
ADOjth.FieldByName('th').AsBOOLEAN:=TRUE;
ADOjth.FieldByName('thyy').AsString:=trim(ss.Text);
adojth.fieldbyname('csl').asinteger:=0-strtoint(Edit16.text);
adojth.fieldbyname('crq').AsDateTime:=now;
adojth.FieldByName('cje').Asstring:='-'+trim(edit17.Text);
adojth.FieldByName('jsrdm').AsString:=edit4.Text;
adojth.FieldByName('jsrmc').AsString:=edit5.Text;
adojth.Post;
//bianji
adoth.Edit;
ADoth.FieldByName('th').AsBOOLEAN:=TRUE;
adoth.Post;
ADOth.SQL.Text:='select * from SPSB_CK where ( spjp = '''+trim(edit6.Text)+''') and (ckdh='''+trim(ComboBox2.Text)+''')'+
' and (ph='''+trim(edit9.Text)+''')'+'and (cjjp='''+trim(edit2.Text)+''')';
ADOth.Open;
//在出库表中追加一行并编辑
ADOjth.Close;
ADOjth.SQL.Text:='select * from SPSB_CK ';
adojth.Open; ---
这一段逻辑是有问题的前面三句是无用的
for it:=0 to adoth.fieldcount-1 do这之间加一名判断
if ADOth.RecordCount < 1 then exit;ADOth.First; //主要是这句