用Delphi写数据保留功能时报错,提示缺少逗号
用Delphi写数据保存功能时报错,提示缺少逗号
procedure TFormBillMainEdit.InsertBill(ABillClassCode, AParentBillNo: string);
var
sqlstr: string;
iRet, idx: integer;
tmpBillNo: string;
ABillClass: string;
CHBillClassCode: string;
SYSDATE: string;
i, bill_no : string;
j : integer;
begin
iRet := dmc.ADOBeginTrans;
if iRet = 0 then
sqlstr := 'SELECT FormatDateTime(''''YYYYMMDD'''', now) FROM CX_BILL_MAIN WHERE SUBSTR(FBILL_NO,1,8)= '''+FormatDateTime('YYYYMMDD', now)+''' ';
if sqlstr <> '' then begin
sqlstr := '';
sqlstr := sqlstr + 'SELECT '''+FormatDateTime('YYYYMMDD', now)+''' ||LPAD(SUBSTR(MAX(FBILL_NO),9,4)+1,4,0) FBILL_NO FROM CX_BILL_MAIN WHERE SUBSTR(FBILL_NO,1,8)= '''+FormatDateTime('YYYYMMDD', now)+''' ';
tmpBillNo := sqlstr;
end
else
begin
tmpBillNo := FormatDateTime('YYYYMMDD', now) + dmo.GetListNo(FormatDateTime('YYYYMMDD', now) + sys.User.name, 4);
end;
// if Length(tmpBillNo) = 12 then iRet := 0 else iRet := -1;
if iRet = 0 then begin
sqlstr := '';
Sqlstr := sqlstr + 'select fuser_name, fbill_class_code, fbill_class, fchildren_bill_class_code ';
sqlstr := sqlstr + 'from cx_bill_class where fuser_name = ''' + sys.User.name + ''' ';
sqlstr := sqlstr + 'and fbill_class_code= ''' + ABillClassCode + ''' ';
iRet := dmc.ADOGetData(sqlstr);
CHBillClassCode := '';
ABillClass := '';
if iRet = 0 then begin
ABillClass := dmc.ADOQuery.FieldByName('fbill_class').AsString;
CHBillClassCode := dmc.ADOQuery.FieldByName('fchildren_bill_class_code').AsString;
end;
end;
if iRet = 0 then begin
sqlstr := '';
sqlstr := sqlstr + 'insert into cx_bill_main (fbill_no, fyear, fmonth, fday, fbill_class, ';
sqlstr := sqlstr + 'fpay_unit_code, fpay_unit_name, fpay_province, fpay_city, fpay_bank_code, fpay_bank_name, fpay_account_no, ';
sqlstr := sqlstr + 'fpayee_unit_code, fpayee_unit_name, fpayee_province, fpayee_city, fpayee_bank_code, fpayee_bank_name, fpayee_account_no, ';
sqlstr := sqlstr + 'fpurpose, ftmoney, fbill_from, fbill_to, fproof_year, fproof_month, fproof_day, fproof_no, ';
sqlstr := sqlstr + 'fparent_bill_no, freport_flag, fprint_times, fuser_name, fcreate_time, fcreate_method ) values ( ';
sqlstr := sqlstr + '''' + tmpBillNo + ''',''' + FormatDateTime('YYYY', dtTime.DateTime) + ''',''' + FormatDateTime('MM', dtTime.DateTime) + ''',''' + FormatDateTime('DD', dtTime.DateTime) + ''', ';
sqlstr := sqlstr + '''' + ABillClass + ''', ';
sqlstr := sqlstr + '''' + edtPayUnitCode.Text + ''',''' + edtPayUnit.Text + ''',''' + edtPayProvince.Text + ''',''' + edtPayCity.Text + ''',''' + edtPayBankCode.Text + ''', ';
sqlstr := sqlstr + '''' + edtPayBankName.Text + ''', ''' + edtPayAccountNo.Text + ''',';
sqlstr := sqlstr + '''' + edtPayeeUnitCode.Text + ''',''' + edtPayeeUnit.Text + ''',''' + edtPayeeProvince.Text + ''',''' + edtPayeeCity.Text + ''',';
sqlstr := sqlstr + '''' + edtPayeeBankCode.Text + ''',''' + edtPayeeBankName.Text + ''',''' + edtPayeeAccountNo.Text + ''', ';
sqlstr := sqlstr + '''' + edtPurpose.Text + ''',''' + FloatToStr(ETMoney()) + ''',null,null,null,null,null,''' + edtProofNo.Text + ''', ';