zoukankan      html  css  js  c++  java
  • 判断字段值已经存在


    例: MBLNO
      
    procedure MblnoChange(Sender:Tfield);
      
    var aSQLQuery:TSQLQuery;
          aMblno:String;
      
    begin
        aMblno:
    =Sender.AsString;
        aSQLQuery:
    =TSQLQuery.Create(nil);
        
    if aMblno<>'' then begin
          
    with aSQLQuery do try
            SQLConnection:
    =SQLConn;
            
    if (Sender.Dataset.FieldByName('BillKind').Asstring='DD')
              
    or (Sender.Dataset.FieldByName('BillKind').Asstring='MM'then
            
    begin
              Close;SQL.Clear;
              SQL.Add(
    'Select count(*) from seabills  ');
              SQL.Add(
    'where SysID=:SysID and (BillKind=''DD'' or BillKind=''MM'')  and Mblno='''+aMblno+'''');
              SQL.Add(
    'and BillDeptid=:BillDeptId')
              ParamByName(
    'SysID').AsInteger:=FSysID;
              ParamByName(
    'BillDeptId').AsInteger:=dsrbill.dataset.fieldbyName('BillDeptId').asInteger;//10.27.chen 不同的部门之间mblno可以相同
              Open;
              
    if FieldByName('Count').AsInteger<>0 then begin
                MessageDlg(Format(
    'M B/L NO. “%s”已经存在!请重新输入!', [Sender.AsString]), mtWarning, [mbOK], 0);
                Sender.Asstring:
    ='';
              
    end else begin
                
    if dsrBill.Dataset.FieldbyName('Billkind').asString='MM' then begin
                  Close;SQL.Clear;
                  SQL.Add(
    'Update seabills set Mblno=:Mblno ');
                  SQL.Add(
    'where SysID=:SysID and PBillno=:Billno');
                  ParamByName(
    'SysID').AsInteger:=FSysID;
                  ParamByName(
    'Mblno').AsString:=Sender.asString;
                  ParamByName(
    'Billno').AsString:=Sender.Dataset.FieldbyName('Billno').asString;
                  Execsql(False);
                
    end;
              
    end;
            
    end;
          
    finally
            aSqlquery.Free;
          
    end;
        
    end;
      
    end
  • 相关阅读:
    dblink密码
    Select .. into .. 和 OCIBindByName
    在网上东逛西逛看到这篇文章,鼻子有点酸。
    奇怪的LINUX系统时间问题
    综合练习:简单日历
    15位到18位身份证的升级计算
    进入面向对象的世界:类就是代码,对象是内存。
    关于数据类型转换的补充知识
    数学函数
    抽象类和密封类
  • 原文地址:https://www.cnblogs.com/CNQCJ/p/1358453.html
Copyright © 2011-2022 走看看