|
procedure TMainForm.FrameButton1Click(Sender: TObject);
var
bh:string;
khlb,khkssj,khjssj,KQSZBL,GZJLSZBL,ZGPJSZBL,ESFZKFBL,BXSKFBL,YXSKFBL,QTKFBL,MTCERWJFS,BM,bckhmc:String;
begin
query1.Close;
query1.ConnectionString:='DATABASEURL=Biz:\KHXT\KHSJK.Database';
query1.CommandText:='select * from khcspzb where khlb='''+combobox1.Text+''' and KHKSSJ=to_date('''+DataEdit1.Text+''',''yyyy-mm-dd'') and KHJSSJ=to_date('''+DataEdit4.Text+
''',''yyyy-mm-dd'') and KQSZBL='+DataEdit2.text+' and GZJLSZBL='+DataEdit5.Text+' and ZGPJSZBL='+DataEdit3.Text+' and ESFZKFBL='+DataEdit17.Text+' and BXSKFBL='+
DataEdit19.Text+' and YXSKFBL='+DataEdit20.text+' and QTKFBL='+DataEdit21.Text+' and MTCERWJFS='+DataEdit25.Text+' and BM='''+dept+''' and bckhmc='''+DataEdit27.Text+'''';
query1.Execute;
query1.Open;
if query1.RecordCount>0 then
begin
//并且要指向那条记录
Tsqldataset(DataSetKHCSPZ.DataSet).UserFilter:='bh='''+ query1.FieldByName('bh').AsString+'''';
dialogs.ShowMessage('设置成功!');
exit;
end;
//如果没有这样的记录就要插入一条了
khlb:=combobox1.Text;
KHKSSJ:=DataEdit1.Text;
KHJSSJ:=DataEdit4.Text;
KQSZBL:=DataEdit2.text;
GZJLSZBL:=DataEdit5.Text;
ZGPJSZBL:=DataEdit3.Text;
ESFZKFBL:=DataEdit17.Text;
BXSKFBL:=DataEdit19.Text;
YXSKFBL:=DataEdit20.text;
QTKFBL:=DataEdit21.Text;
MTCERWJFS:=DataEdit25.Text;
bckhmc:=DataEdit27.Text;
DataSetKHCSPZ.DataSet.Append;
// DataSetKHCSPZ.DataSet.ApplyUpdates;
DataSetKHCSPZ.DataSet.FieldByName('KHKSSJ').AsDateTime:=sysutils.StrToDate(KHKSSJ);
DataSetKHCSPZ.DataSet.FieldByName('KHKSSJ').AsDateTime:=sysutils.StrToDate(KHJSSJ);
DataSetKHCSPZ.DataSet.FieldByName('KQSZBL').AsFloat:=sysutils.StrToFloat(KQSZBL);
DataSetKHCSPZ.DataSet.FieldByName('GZJLSZBL').AsFloat:=sysutils.StrToFloat(GZJLSZBL);
DataSetKHCSPZ.DataSet.FieldByName('ZGPJSZBL').AsFloat:=sysutils.StrToFloat(ZGPJSZBL);
DataSetKHCSPZ.DataSet.FieldByName('ESFZKFBL').AsFloat:=sysutils.StrToFloat(ESFZKFBL);
DataSetKHCSPZ.DataSet.FieldByName('BXSKFBL').AsFloat:=sysutils.StrToFloat(BXSKFBL);
DataSetKHCSPZ.DataSet.FieldByName('YXSKFBL').AsFloat:=sysutils.StrToFloat(YXSKFBL);
DataSetKHCSPZ.DataSet.FieldByName('QTKFBL').AsFloat:=sysutils.StrToFloat(QTKFBL);
DataSetKHCSPZ.DataSet.FieldByName('khlb').AsString:=khlb;
DataSetKHCSPZ.DataSet.FieldByName('bckhmc').AsString:=bckhmc;
// DataSetKHCSPZ.DataSet.Post;
DataSetKHCSPZ.DataSet.ApplyUpdates;
dialogs.ShowMessage('设置成功!');
end;
本来想利用上述代码插入一条记录的,不知道为什么每次都一次性插入两条,这两条中只有KHKSSJ和KHJSSJ是不一样的。 |
|